Evitar submitir un formulario al pulsar la tecla enter

Estoy haciendo un formulario que necesito que no se submita al pulsar la tecla enter. Lo que me pasa es que hago el formulario y tiene...

La FAQ Evitar submitir un formulario al pulsar la tecla enter tiene

Pertenece a la categoría:
Pregunta
Estoy haciendo un formulario que necesito que no se submita al pulsar la tecla enter.





Lo que me pasa es que hago el formulario y tiene varios campos de texto. Entonces, al pulsar el la tecla return (también llamada tecla enter), lo que ocurre es que el formulario se envía.





Yo no quiero que el formulario se envíe al pulsar enter ¿esto se puede conseguir? Porque quiero que el formulario se submita sólo al pulsar el botón de submitir.

Respuesta de Miguel Angel Alvarez
En foros del web tienes una solución óptima para tratar este caso. Simplemente se trata de detectar las teclas que el usuario pulsa mientras está en el campo de texto y si pulsa enter, simplemente no hacer nada. Es un javascript muy sencillo y viene comentado en el propio foro:



http://www.forosdelweb.com/f13/evitar-submit-tecla-enter-formulario-con-solo-campo-303479/

Volver al árbol de categoríasVolver al árbol de categorías

Comentarios

Ramon Sosa Reyes

21/1/2008
No pongas el boton de tipo submit, sino de tipo button y en el evento onclick le pones forma.submit().

<form name="forma" method="post" action="script.php">
<input type="button" name="Enviar" value="Enviar" onclick="forma.submit()">
</form>

Es muy comun que los usuarios que empiezan a trabajar con formularios web utilicen la tecla enter después de capturar cada campo y las teclas flecha arriba y flecha abajo para desplazarse de campo a campo, en lugar de la tecla Tab o Shift+Tab. Para evitar esto basta con hacer el cambio arriba indicado, incluso sirve como validación para saber si el navegador soporta javascript ya que de lo contrario no se podrá mandar el formulario.

ernest

11/11/2011
otra solucion
Otra solución es incluir el siguiente script

<script language=javascript type=text/javascript>
function stopRKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
}
document.onkeypress = stopRKey;
</script>

José

08/5/2013
Gracias Hermanazo!
Muchisimas gracias, justo lo que buscaba!
FAQ relacionadas

Para ver más FAQ relacionadas accede a las categorías:

Volver al árbol de categoríasVolver al árbol de categorías