javascript

Prevenir envío de formulario con Enter

En este post sobre formularios HTML y JavaScript vamos a ver cómo prevenir que el form sea enviado al presionar la tecla Enter; para ello se usará JavaScript o un simple atributo HTML.

Prevenir envío de formulario

Lo que tenemos que hacer es escuchar el evento keydown del input en cuestión, y detectar si se presionó la tecla Enter. En caso de que sí, prevenimos el comportamiento con preventDefault.

Para obtener una referencia al elemento puedes utilizar getElementById, querySelector, etcétera. Yo usaré querySelector y queda así:

See the gist on github.

En este caso estamos previniendo que se envíe cuando se presiona enter en el input que tiene el id nombre. Podemos ver el HTML así:

See the gist on github.

Si quieres puedes probar el ejemplo en este enlace. Verás que si presionas Enter, el formulario no se envía, y que solo lo hace cuando presionas el botón destinado al envío.

Varios input

Igualmente podrías desactivar este comportamiento para todos los input.

Para ello recomiendo colocarles determinada clase (de igual forma podría hacerse global a los input, pero en ocasiones es mejor hacerlo por separado) y luego obtener los elementos con querySelectorAll.

Comenzamos definiendo nuestro formulario:

See the gist on github.

Fíjate en que nuestros campos del formulario tienen la clase prevenir-envio; ahora obtenemos una referencia a todos esos elementos y por cada uno le agregamos el listener:

See the gist on github.

Lo que hacemos es usar forEach en combinación de las arrow functions para agregar el listener a cada input. Es decir, hacemos para todos lo que hicimos en el ejemplo del input individual.

Si quieres puedes probar el ejemplo en línea.

Desactivar envío con Enter en formulario completo

Este truco solo funciona en caso de que tu formulario no tenga ningún textarea (pues si los tiene, no se podrá colocar una nueva línea). Simplemente indicamos que si la tecla es Enter no se haga nada agregando el atributo onkeydown:

See the gist on github.

En este caso ya no necesitamos JavaScript, pues lo estamos indicando desde el HTML. De igual modo dejo el código completo:

See the gist on github.

Y si quieres puedes ejecutarlo en línea.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Solución: Unable to extract uploader id con youtube-dl

En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…

20 horas hace

Enviar foto a Telegram usando cURL y Bot

Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…

20 horas hace

cURL y Telegram: enviar mensaje a Bot

En un post previo te enseñé a enviar un mensaje en nombre de un Bot…

23 horas hace

Impresora térmica con Telegram usando Bot

En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…

1 día hace

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

5 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

6 días hace

Esta web usa cookies.