Foros del Web » Programando para Internet » Javascript »

avanzar de campo con la tecla enter

Estas en el tema de avanzar de campo con la tecla enter en el foro de Javascript en Foros del Web. <input type='text' maxlength='15' size='15' name='descripcio' id='descripcio' tabindex='1' onkeydown='if (event.keyCode==13) {event.keyCode=9;}'> el código citado es una solución para avanzar entre los campos de un formulario con ...
  #1 (permalink)  
Antiguo 04/08/2010, 04:16
 
Fecha de Ingreso: agosto-2010
Mensajes: 4
Antigüedad: 14 años, 3 meses
Puntos: 0
avanzar de campo con la tecla enter

<input type='text' maxlength='15' size='15' name='descripcio' id='descripcio' tabindex='1' onkeydown='if (event.keyCode==13) {event.keyCode=9;}'>

el código citado es una solución para avanzar entre los campos de un formulario con la tecla enter en el navegador Explore, el problema es que no funciona con el navegador Chrome,

alguna idea?
gracias a todos,
  #2 (permalink)  
Antiguo 04/08/2010, 04:57
 
Fecha de Ingreso: octubre-2008
Ubicación: Plasencia
Mensajes: 109
Antigüedad: 16 años, 1 mes
Puntos: 6
Respuesta: avanzar de campo con la tecla enter

event.keyCode no funciona en chrome, en su lugar tienes que usar event.which.
Suerte.
  #3 (permalink)  
Antiguo 04/08/2010, 05:35
 
Fecha de Ingreso: agosto-2010
Mensajes: 4
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: avanzar de campo con la tecla enter

<input type='text' maxlength='15' size='15' name='descripcio' id='descripcio' tabindex='1' onkeydown = 'if (event.which==13) {event.which=9;}' >


vale, cambiado con which (según he probado captura la tecla)
pero en chrome ejecuta el submit , por lo tanto no me funciona el formulario pasando los campos con enter, alguien sabe como solucionarlo con chrome?

gracias,
  #4 (permalink)  
Antiguo 04/08/2010, 05:48
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: avanzar de campo con la tecla enter

Prueba a poner return false después de event.which=9.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 04/08/2010, 06:39
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: avanzar de campo con la tecla enter

Hola

Prueba así
Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. function tab(ev,obj) {
  5. var keyCode = document.layers ? ev.which : document.all ? event.keyCode : document.getElementById ? ev.keyCode : 0;
  6. if (keyCode !=13) return;
  7. frm = obj.form;
  8. for(i = 0; i < frm.elements.length; i++)
  9. if (frm.elements[i] == obj) {
  10. if (i == frm.elements.length-1) i =-1;
  11. break
  12. }
  13. frm.elements[i+1].focus();
  14. return false;
  15. }
  16. </script>
  17. </head>
  18. <body>
  19. <form>
  20. <input type="text" onkeypress="return tab(event,this)" /><br />
  21. <input type="text" onkeypress="return tab(event,this)" />
  22. </form>
  23. </body>
  24. </html>
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Última edición por Adler; 04/08/2010 a las 13:04 Razón: Corregir lo apuntado por hispaenri
  #6 (permalink)  
Antiguo 04/08/2010, 08:45
 
Fecha de Ingreso: agosto-2010
Mensajes: 4
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: avanzar de campo con la tecla enter

Gracias _cronos2 pero ni con return false funciona ,,

el código proporcionado Adler, es perfecto, lo he probado con chrome, explorer, opera, firefox,
todo genial,
muchas gracias Adler, estoy convirtiendo una aplicación de escritorio (visual-foxpro) para la www, y aqui el personal de la oficina acostumbrado a darle enter para todo, con tu solución, voy a continuar, solo una cosita dode pone '.elementos' poner '.elements', un saludo,, Enrique

Etiquetas: enter, tecla, campos
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:57.