Foros del Web » Programando para Internet » Javascript »

Código Autotabulación

Estas en el tema de Código Autotabulación en el foro de Javascript en Foros del Web. Hola Chicos. Mi primer posteo. Soy nuevo en este foro y supermeganovato programando. A mi edad, jejeje. Bueno os paso el código que me ha ...
  #1 (permalink)  
Antiguo 17/05/2012, 02:45
 
Fecha de Ingreso: mayo-2012
Mensajes: 11
Antigüedad: 11 años, 11 meses
Puntos: 0
Código Autotabulación

Hola Chicos.

Mi primer posteo. Soy nuevo en este foro y supermeganovato programando. A mi edad, jejeje.

Bueno os paso el código que me ha currao que es rollo cortar y pegar para hacer autotab. Lo único que hay que tener en cuenta es añadir un onkeyup="autoTab()" en cada uno de los inputs del formulario para que llamen a la función. Podeis usarlo a placer...

Código:
<html> 
<head>
<script>


function autoTab()
{
	for(var i=0; document.formulario.elements[i].value.length; i++)
	{

		if(document.formulario.elements[i].value.length==document.formulario.elements[i].maxLength)
		{
			document.formulario.elements[i+1].focus();
		}
	}
}

</script>




</head>

<body>
	<form name="formulario">
		<input type="text" name="nt1" size="5" maxlength="4" onkeyup="autoTab()" />&nbsp;&nbsp;

		<input type="text" name="nt2" size="5" maxlength="4" onkeyup="autoTab()" />&nbsp;&nbsp;

		<input type="text" name="nt3" size="5" maxlength="4" onkeyup="autoTab()" />&nbsp;&nbsp;

		<input type="text" name="nt4" size="5" maxlength="4" />
	</form>

</body>
</html>
Por cierto si veis algo mal decidmelo porque ya os digo, soy un supernovatazo programando. En cualquier caso la consola de errores no me dice que ocurra nada raro.
Por cierto he tardardo un dia entero en hacer esto. Podeis destornillaros a placer, jajaja...
Bueno, con práctica y vuestra ayuda supongo que mejoraré con los timings
  #2 (permalink)  
Antiguo 17/05/2012, 05:27
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Código Autotabulación

buen intento

es verdad que no tiene errores de sintaxis, pero .....
  • a cada pulsación se recorre el ciclo
  • al usar el evento onkeyup y no paserle a la función el objeto event, no puedes hacer un backspace
Cita:
<html>
<head>
<script>


function autoTab(obj, tam)
{
var frm=obj.form;
var largo = obj.value.length;
if (largo == tam) {
for(i=0;i<frm.elements.length;i++) {
if(frm.elements[i]==obj) {
frm.elements[i+1].focus();
break;
}
}
}
}

</script>




</head>

<body>
<form name="formulario">
<input type="text" name="nt1" size="5" maxlength="4" onkeypress="autoTab(this, this.maxLength)" />&nbsp;&nbsp;

<input type="text" name="nt2" size="5" maxlength="4" onkeypress="autoTab(this, this.maxLength)" />&nbsp;&nbsp;

<input type="text" name="nt3" size="5" maxlength="4" onkeypress="autoTab(this, this.maxLength)" />&nbsp;&nbsp;

<input type="text" name="nt4" size="5" maxlength="4" />
</form>
</body>
</html>
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Última edición por IsaBelM; 17/05/2012 a las 05:50

Etiquetas: autotab, formulario, input, inputs, tabulacion
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 20:30.