Todoexpertos.com
http://www.todoexpertos.com
La respuesta está en Internet
Información de la pregunta
Título: setFocus
Experto: jadaso63
Valoración: 4
Fecha: 22/04/2008


setFocus
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
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
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 ...


Volver al mensaje
http://www.todoexpertos.com/categorias/tecnologia-e-internet/desarrollo-de-sitios-web/flash/respuestas/1830369/setfocus