Ver Mensaje Individual
  #7 (permalink)  
Antiguo 29/04/2009, 15:27
diegoturriaga
 
Fecha de Ingreso: noviembre-2004
Ubicación: Buenos Aires
Mensajes: 34
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: controlar tabulación

Les dejo lo último...

Código HTML:
<head>
	<script>
		function simularTab(evento, obj, codigo)
		{
			var key = (evento.which) ? evento.which : evento.keyCode;
			for (var i=2; i<arguments.length; ++i) {
				if (arguments[i]==key) {
					try {
					if (evento.which) { evento.which = 9; } else { evento.keyCode = 9; }
					} catch(err) { alert(err.description); }
					obj.onkeyup = function () {
						try {
						if (evento.which) {
							evento.which = key;
						}
						else {
							evento.keyCode = key;
						}
						return true;
						} catch(err) { alert(err.description); }
					}
					return true;
				}
			}
			return true;				
		}
	</script>
</head>
<body>
nombre: <input type="text" id="nombre" name="nombre" tabindex="1" onkeydown="return simularTab(event, this, 13,37,38,39,40)">
teléfono: <input type="text" tabindex="4" id="telfax" name="telfax" onkeydown="return simularTab(event, this, 13,37,38,39,40)"><br><br>
apellido: <input type="checkbox" id="chkapellido" name="chkapellido" tabindex="2" onclick="document.getElementById('apellido').disabled = this.checked;" onkeydown="return simularTab(event, this, 13,37,38,39,40)">
	<input type="text" id="apellido" name="apellido" tabindex="3" onkeydown="return simularTab(event, this, 13,37,38,39,40)"><br><br>
calle: <input type="text" tabindex="5" id="calle" name="calle" onkeydown="return simularTab(event, this, 13,37,38,39,40)">
nro: <input type="text"  tabindex="6" id="nrocalle" name="nrocalle" onkeydown="return simularTab(event, this, 13,37,38,39,40)"><br><br>
<input type="button" tabindex="7" value="button" id="ok" name="ok" onclick="alert('hola!');" onkeydown="return simularTab(event, this, 13,37,38,39,40)">
</body> 
En IE6 funciona correctamente, pero en Firefox 3 no

Por otro lado estoy intentando que al final el valor del keyCode sea el original... es decir si es una de las teclas que se quiere cambiar por Tab se hace el cambio de keyCode en el evento mouseDown, el evento keyPress que se ejecuta (o no) lo hace pensando que se trata de la tecla Tab pero al final en el evento mouseUp se deja la tecla original... bueno, eso es la idea, no se si esto es posible pero con intentarlo no se pierde nada

gracias a todos los que prueban con estas cosas locas saludos!