JavaScript - Ayuda con focus()

 
Vista:

Ayuda con focus()

Publicado por Sandra (10 intervenciones) el 24/04/2007 14:41:58
Hola, tengo un formulario con campos de entrada de texto. Quiero que al ingresar 4 caracteres en un campo, el cursor salte al campo siguiente.
Hice esto, pero no funciona y no se por qué:

<script>
function pasar(longitud, subindice) {
frm = window.document.forms;
var maximo = 4;
if (longitud == maximo) {
nro = subindice+1;
var campoFocus = "frm.serie_"+nro;
// alert(campoFocus);//muestra frm.serie_203
//frm.serie_203.focus();//si lo harckodeo, funciona
campoFocus.focus();//pero si le paso la variable no anda
}
}
</script>

<form action="" method="post" name="forms">
Campo:
<input type="text" name="serie_202" onKeyUp="pasar(this.value.length, 202)">
<br>
Numero de Serie:
<input type="text" name="serie_203" onKeyUp="pasar(this.value.length, 203)">
</form>

Espero que puedan ayudarme.
Muchas gracias,
Sandra
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con focus()

Publicado por ambrosio (6 intervenciones) el 26/04/2007 12:18:25
Primero comentarte que no deberías llamar al formulario "forms" ya que JavaScript usa ese nombre como objeto de todos los formularios de una página. Llamalo "formulario" por ejemplo:

<script>
...
frm = document.formulario;
...
<form ... name="formulario">
...

Respecto a darle el foco a la siguiente caja de texto, hazlo así:

en lugar de:

campoFocus.focus();

usa:

eval (campoFocus + ".focus()");

Ya que "campoFocus" no es más que una cadena de texto con el nombre de la caja de texto a la que quieres darle el foco. Para usar las funciones/propiedades de la misma has de usar la función "eval".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con focus()

Publicado por sandra (10 intervenciones) el 26/04/2007 14:41:15
Muchísimas graciassssss!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar