Inicio > Flash > jadaso63 > setFocus

setFocus

Experto:
Usuario: Anónimo Fecha: 05/05/2008
Valoración: (4,00 sobre 5) Categoría: Flash
setFocus
Usuario
22/04/2008
22/04/2008
Usuario
como puedo enviar el setfocus a un determinado control en una pelicula flash.
tengo unos combos y unos texto dinamicos.
uso la sentecia de Selection.setFocus("instancia") pero no me funciona.
tengo una funcion que me valida un campos
function myfuncion(campo,campo2)
{
if(campo.text=="")
{
trace("el campo no puedo ser vacio");
campo.setFocus();
// Selection.setfocus(campo._name);
}
else
if(campo2.text=="")
{
trace("El campo2 no puede ser vacio");
campo2.seFocus();
// Selection.setFocus(campo2._name);
}
}
Asi es como la mando llamar
myfuncion(_root.texto1,_root,text2);
por que no me envia el cursor al componente donde le indico
ahora me lo esta enviado un componente despues de donde deberia hacerlo
La primera vez que se realiza la validacion funciona bien aqui deshabilito algunos otros controles. cuando se vuelve a llamar
la funcion el foco me lo envia a un elemento despues del que que debe.por ejemplo
texto1      texto2    texto3
le digo que vaya al text1 y lo envia al 2 .

saludos
setFocus
Experto
23/04/2008
23/04/2008
anej, experto respondiendo en Flash
Experto
Amigo primero déjame decirte que veo un error en el código que me enviaste, aunque me imagino que sea producto del copy/paste y que no es ese el asunto, me refiero a que en la línea 13 pusiste "campo2.seFocus()" en vez de "campo2.setFocus()", pero bueno, supongo que ese no es el error, porque hay otra cosa que no veo bien. En realidad lo que sucede es que utiliza la funcion setFocus de una manera distinta a como la utilizo yo, quizás ese sea el problema, te recomiendo que pruebes a utilizarla como yo lo hago a ver si resuelves el problema. Yo por acá hice algunas pruebas y funcionó muy bien. De hecho tengo las fuentes por si estás interesado en que te las envíe, si es así hasme saber un correo al que pueda enviártelas.
En fin, yo escribiría la función dela sigueinte manera:
function myfuncion(campo, campo2) {
if (campo.text == "") {
trace("el campo no puedo ser vacio");
Selection.setFocus(campo);
} else if (campo2.text == "") {
trace("El campo2 no puede ser vacio");
Selection.setFocus(campo2);
}
}
Pregunta finalizada. Valoración: 4
Usuario
05/05/2008
05/05/2008
Usuario
Hola experto ...
Pues ya habia hecho pruebas con el Selection.setFocus("InstanceName") y ni asi funciono simpre me mandaba a un componente siguente al que debia enviar.
Sin embargo hice un puse esto es fue lo unico que me funciono
_root.interval = setInterval(1,"campox.setFocus(); clearInterval(_root.Interval);");
supongo que hiciste las pruebas solo poniendo tres fieldtext por eso no te ocurrio lo mismo que ami pon un combo extra y en clic de algun boton ejecuta la funcion y deshabilita el combo, la primera vez funcionara el bien pero vuelve a dar clic en el boton y veras que ocurre el error. con esto usando el Flash MX 2004 Professional.
De todas formas espero tu correo mi mail es najera1014@yahoo.com.mx con el codigo que me mensionas.
Saludos ...
Enlaces patrocinados