Hola:
Estoy realizando una página web compleja, totalmente realizada en Flash, que se forma dinámicamente tomando datos desde JSP's. Se tienen dos menús generales que siempre quedan visibles y un area central amplia en la que se muestra la info de cada una de las opciones (lo típico). Uno de sus apartados es un formulario de soporte técnico, formado por cinco textField (el primero de ellos multiline, el resto single line), y un botón "enviar". Observé que cuando le das al tabulador, en vez de pasar de un textfield al siguiente, lo q hace es irse al primer botón que encuentra hacia la derecha (q está fuera de mi formulario), y si le sigues dando al tabulador se da un garbeo por un montón de Movieclips y botones hasta llegar al textfield que uno quiere.
Total, me puse a intentar solucionarlo, capturando el evento de presionar el tabulador, de manera que yo detecte dónde esta el foco para decirle a dónde se tiene q ir. Pues bien, obtengo correctamente la ubicación del foco con getFocus, pero cuando hago el setFocus se va a donde le da la gana (y he probado mil maneras de meterle la variable q corresponde al textfield destino, y estoy seguro de q no es problema de ámbito o "scope").
Mi código:
myListener = new Object();
myListener.onKeyDown = function () {
foco=Selection.getFocus();
trace(foco);
foco2="";
puntos=0;
for (i=0;i<=foco.length;i++) {
if (puntos>=4) {
foco2=foco2+foco.charAt(i);
}
if (foco.charAt(i)==".") puntos++;
}
trace(foco2);
if (Key.isDown(Key.TAB)&&(foco2=="texto")) {
Selection.setFocus("this.nombre");
trace("paso foco a nombre");
} else if (Key.isDown(Key.TAB)&&(foco2=="nombre")) {
Selection.setFocus("_root.apellido1");
trace("paso foco a apellido1")
} else if (Key.isDown(Key.TAB)&&(foco2=="apellido1")) {
Selection.setFocus("this.apellido2");
} else if (Key.isDown(Key.TAB)&&(foco2=="apellido2")) {
Selection.setFocus("this.email");
} else if (Key.isDown(Key.TAB)&&(foco2=="email")) {
Selection.setFocus("this.boton_enviar");
} else if (Key.isDown(Key.TAB)&&(foco2=="boton_enviar")) {
Selection.setFocus("this.texto");
}
}
Key.addListener(myListener);
Ya digo, funciona la captura del tab, el getFocus lee lo q tiene q leer, pero el setFocus no. He probado paths absolutos también (_root....) y tampoco.
Muchas gracias por anticipado