Le hice algunos cambios, creo que ahora sí funciona, en FF, IE y en Chrome.
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script language="javascript" type="text/javascript">
siguienteCampo = "campo1"
nombreForm = "miFormulario"
function TelcaPulsada( e ) {
if ( window.event != null) //IE4+
tecla = window.event.keyCode;
else if ( e != null ) //N4+ o W3C compatibles
tecla = e.which;
else
return;
if (tecla == 13) { //se pulso enter
if ( siguienteCampo == 'fin' ) { //fin de la secuencia, hace el submit
return true //sustituir por return true para hacer el submit
} else { //da el foco al siguiente campo
eval('document.' + nombreForm + '.' + siguienteCampo + '.focus()')
return false
}
}
}
document.onkeydown = TelcaPulsada; //asigna el evento pulsacion tecla a la funcion
if (document.captureEvents) //netscape es especial: requiere activar la captura del evento
document.captureEvents(Event.KEYDOWN)
</script>
</head>
<body onload="document.miFormulario.campo1.focus();">
<p>ejemplo</p>
<form name="miFormulario" action="procesar.php" method="post">
1. <input type="text" name="campo1" size="12" onFocus="siguienteCampo ='campo2';"><br>
2. <input type="text" name="campo2" size="12" onFocus="siguienteCampo ='campo3';"><br>
3. <input type="text" name="campo3" size="12" onFocus="siguienteCampo ='campo4';"><br>
4. <input type="text" name="campo4" size="12" onFocus="siguienteCampo ='submit';"><br>
<input type="submit" name="submit" value="Enviar" onFocus="siguienteCampo ='fin';"></form>
</body>
</html>
No he capturado los datos pero hace la llamada a proceso.php.
Espero comentarios y sugerencias para mejorar esto.
Gracias y saludos.