‘Enter key’ no enviará el formulario en Firefox, pero lo hará en Chrome, ¿por qué?

Tengo un formulario, muy básico, y cuando presiono la tecla enter nada sucede en firefox, pero en google chrome lo envía. Todavía no he probado otros navegadores …

No pasa nada al presionar enter en firefox.

Al hacer clic en el botón de enviar, funciona bien en ambos navegadores.

El formulario está dentro de un DIV, y el formulario también tiene javascript, aquí está la forma simplificada:

 

y aquí está el js:

 function reset_pager(){ byId("p").value = 0; } function reset_and_subm(){ byId("p").value = 0; document.forms["nav_form_main"].submit(); } 

La función reset_pager no se llama en absoluto … lo cual es extraño porque es una función “onsubmit”. Por lo tanto, es como si el formulario no se enviara en absoluto. Sin embargo, los resultados en el iframe objective parecen correctos, sin ningún problema.

¿Algunas ideas?

Gracias

Enter for submit solo se activa si

Como mencionó Diodeus, necesita una etiqueta en su formulario si desea usar la tecla ENTER para enviar el formulario.

El motivo por el que la función reset_pager no se onsubmit en el evento onsubmit es porque el evento onsubmit nunca se onsubmit . Aunque no es intuitivo, usar el método submit() en un formulario (como lo hace en la función reset_and_subm ) no provocará que se onsubmit evento onsubmit .

Usted tiene un par de opciones:

  1. Puede agregar un a su formulario y poner toda su lógica en una función de devolución de onsubmit .

  2. Mire todos los eventos de keypress en el formulario. Si se presiona la tecla ENTER o se hace clic en el botón, llame a una función que hace todo lo que desea que suceda antes de enviar el formulario y luego llame a submit() en el formulario.