Foros del Web » Programando para Internet » Javascript »

Cambiar el focus automaticamente

Estas en el tema de Cambiar el focus automaticamente en el foro de Javascript en Foros del Web. Hola amigos tengo un formulario con un numero de cuenta separado en cuatro campos (4 digitos, 4 digitos, 2 digitos,10digitos) y me gustaria que cuando ...
  #1 (permalink)  
Antiguo 16/01/2007, 02:25
 
Fecha de Ingreso: abril-2003
Ubicación: Malaga
Mensajes: 176
Antigüedad: 21 años
Puntos: 1
Cambiar el focus automaticamente

Hola amigos tengo un formulario con un numero de cuenta separado en cuatro campos (4 digitos, 4 digitos, 2 digitos,10digitos) y me gustaria que cuando escribiese un campo pasase al otro si tener que darle al tabulador. Es posible?

Muchas gracias
  #2 (permalink)  
Antiguo 16/01/2007, 02:32
Avatar de Valkam  
Fecha de Ingreso: junio-2006
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Cambiar el focus automaticamente

Lo primero que se me ocurre es que vayas contando el número de dígitos que va introduciendo el usuario en cada campo y cuando completa uno hagas un focus del siguiente
  #3 (permalink)  
Antiguo 16/01/2007, 02:35
 
Fecha de Ingreso: abril-2003
Ubicación: Malaga
Mensajes: 176
Antigüedad: 21 años
Puntos: 1
Re: Cambiar el focus automaticamente

Cita:
Iniciado por Valkam Ver Mensaje
Lo primero que se me ocurre es que vayas contando el número de dígitos que va introduciendo el usuario en cada campo y cuando completa uno hagas un focus del siguiente
Podrias ser algo más especifico, por favor? soy bastante novato en javascript y no estoy muy puesto en eventos el codigo html de lo cuatro campos es muy simple te lo muestro
Código HTML:
<input name="cuentacorriente1" type="text" size="4" maxlength="4"> <input name="cuentacorriente2" type="text" size="4" maxlength="4"> <input name="cuentacorriente3" type="text" size="2" maxlength="2"> <input name="cuentacorriente4" type="text" size="10" maxlength="10"> 
Muchas gracias por tu rapida respuesta
  #4 (permalink)  
Antiguo 16/01/2007, 02:56
Avatar de Valkam  
Fecha de Ingreso: junio-2006
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Cambiar el focus automaticamente

Te dejo una función a ver si te vale

Código PHP:
<html>
<
head>
<
script language="javascript">

  function 
pasaSiguiente(actualsiguientelongitud)
  {
         if((
actual.value.length 1) == longitud)
                
siguiente.focus();
  }

</script>
</head>

        <input name="cuentacorriente1" id="cuentacorriente1" type="text" size="4" maxlength="4" onKeyPress="pasaSiguiente(this, document.getElementById('cuentacorriente2'), 4)"> 
<input name="cuentacorriente2" id="cuentacorriente2" type="text" size="4" maxlength="4">


</html> 
La función pasaSiguiente es llamada cada vez que se pulsa una tecla dentro de la caja de texto. Le paso el objeto que representa a la caja, el siguiente campo a donde tiene que saltar y la longitud que debe tener el campo para poder saltar al siguiente. De esta forma la puedes reutilizar para los demas campos (de 2 y 10 digitos). En la función únicamente comprueba que tenga esa longitud y en ese caso salta al siguiente campo
  #5 (permalink)  
Antiguo 16/01/2007, 03:08
 
Fecha de Ingreso: abril-2003
Ubicación: Malaga
Mensajes: 176
Antigüedad: 21 años
Puntos: 1
Re: Cambiar el focus automaticamente

Muchisimas gracias!!

Era justo lo que queria, pero le he tenido que quitar el +1 porque si no me escribia un caracter de menos, pero por lo demas funciona perfectamente
  #6 (permalink)  
Antiguo 16/01/2007, 03:13
Avatar de Valkam  
Fecha de Ingreso: junio-2006
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Cambiar el focus automaticamente

Ok, solo lo probe en Firefox y me funcionó bien. Quizás en Firefox se llame a la función antes de actualizar el valor del campo. Por eso le puse un + 1. ¿En que navegadores lo has probado?
  #7 (permalink)  
Antiguo 16/01/2007, 03:27
 
Fecha de Ingreso: abril-2003
Ubicación: Malaga
Mensajes: 176
Antigüedad: 21 años
Puntos: 1
Re: Cambiar el focus automaticamente

He probado en el explorer pero ahora que me dices es a lo mejor tengo que verificar sobre que navegador se trabaja y asi actuar de una manera u otra no?
  #8 (permalink)  
Antiguo 16/01/2007, 03:43
Avatar de Valkam  
Fecha de Ingreso: junio-2006
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Cambiar el focus automaticamente

Es posible, aunque seguro que hay una solución universal y los foreros seguro que en breve la encuentran
  #9 (permalink)  
Antiguo 16/01/2007, 09:17
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Cambiar el focus automaticamente

Sí, el problema que tenéis con el +1 ocurre por utilizar el onKeyPress. Si utilizamos el onKeyUp tendremos más control sobre cuándo lanzamos la función. Si utilizamos ese código con onkeyup funciona perfectamente en firefox por lo menos.

Lo que no sé es por qué no me funciona en IE...
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:06.