Hola. En IExplorer lo hago asi:
document.fdatos.seconds.focus()
donde fdatos es el formulario y seconds es el campo tipo text.
En NetScape 7 no me va.
¿Alguien sabe que hago mal?
| ||||
Prueba con esto: document.forms[0].elements["seconds"].focus(); Siempre teniendo en cuenta que no tengas más formularios en la página o que éste sea el primero en el código. Si no es así cambia el cero de forms por 1 si es el segundo, 2 si es el tercero... Espero que te vaya!
__________________ Cómo escribir No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia. |
| ||||
Muchas gracias por la ayuda, pero sigue sin funcionar. Nos quejamos mucho de Microsoft y de su monopolio, pero gracias a NetScape los programadores webs tenemos un constante dolorcillo detras de las orejas ![]() En fin, a ver si encuentro algo. |
| ||||
Me vas a perdonar, pero ese código funciona seguro en NS 7. Mira a ver si no falla tu script antes de darle el foco o tal vez seconds sea una palabra reservada...
__________________ Cómo escribir No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia. |
| ||||
Mira este ejemplo con NS 7: <html> <head> <title>Untitled</title> </head> <body onload="document.forms[0].elements['ee'].focus()"> <form> <input type="text" name="ee" value="prueba"> </form> </body> </html>
__________________ Cómo escribir No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia. |
| ||||
Tienes razon. Funciona. El fallo me lo da a mi porque lo que hago es llamar a focus() tras el evento onBlur (que si no me han dicho mal es el que se produce cuando se pierde el foco). En IE onBlur funciona, pero parece que en NetScape no. ¿Sabes cual puedo usar? Lo que estoy haciendo es un formulario en el que en un campo si alguien mete un datos que no cumple un requisito (por ejemplo, si seconds es menor que 5 y mayor que 10), al perder el enfoque ese campo vuelva a recibirlo para que hasta que no ponga un valor adecuado no pueda salir de ahi (un valor entre 5 y 10). Gracias por la ayuda KarlanKas. |
| ||||
Tú también tienes razón... no he conseguido que funcionara. El código que he empleado es este y funciona en Mozilla (aunque por el onfocus, no por el onblur...): <html> <head> <title>Untitled</title> <script> function pepe(esto){ if(esto.value<5 || esto.value>10 || isNaN(esto.value)){ esto.value=''; esto.focus(); } } </script> </head> <body onload="document.forms[0].elements[0].focus()"> <form> <input type="text" name="pp" onblur="pepe(this)"> <input type="text" name="ppe" onfocus="pepe(document.forms[0].elements[0])"> </form> </body> </html> No sé por qué será!
__________________ Cómo escribir No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia. Última edición por KarlanKas; 19/05/2004 a las 00:53 |