Saltar al contenido

Evite el descarte modal al presionar la tecla Intro

Solución:

Yo también tuve este problema.
Mi problema fue que tenía un botón de cierre en mi modal

<button class="close" data-dismiss="modal">&times;</button>

Al presionar Intro en el campo de entrada, este botón se disparó. Lo cambié a un ancla en su lugar y ahora funciona como se esperaba (ingrese envía el formulario y no cierra el modal).

<a class="close" data-dismiss="modal">&times;</a>

Sin embargo, sin ver su fuente, no puedo confirmar que su causa sea la misma.

Solo agrega el type = “botón” atributo al elemento button, algunos navegadores interpretan el tipo como enviar por defecto.

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Attributes

Esto aplica para todos los botones que tienes en el modal.

<button type="button" class="close" data-dismiss="modal">×</button>

Tuve este problema incluso después de eliminar TODOS los botones de mi Bootstrap Modal, por lo que ninguna de las soluciones aquí me ayudó.

Descubrí que un formulario con un solo campo de texto haría que el navegador hiciera un envío de formulario (y resultaría en descartarlo), si presiona Enter mientras el foco del teclado está en el campo de texto. Esto parece ser más un problema de navegador / formulario que cualquier cosa con Bootstrap.

Mi solución fue establecer el atributo onsubmit del formulario en onsubmit = “return false”

Esto puede ser un problema si realmente está usando el evento de envío, pero estoy usando marcos JS que generan solicitudes AJAX en lugar de hacer un envío del navegador, por lo que prefiero deshabilitar el envío por completo. (También significa que no tengo que modificar manualmente todos los elementos del formulario que puedan desencadenar un envío).

Más información aquí: los cuadros de diálogo modales de Bootstrap con un solo campo de entrada de texto siempre se descartan en la tecla Intro

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *