He configurado un modal de arranque con un formulario dentro, acabo de notar que cuando presiono la tecla Intro, el modal se descarta. ¿Hay alguna forma de no descartarlo al presionar Enter?
Intenté activar el modal con el teclado: falso, pero eso solo evita el despido con la tecla ESC.
forms
twitter-bootstrap
modal-dialog
Luke Morgan
fuente
fuente
Respuestas:
Yo también tuve este problema.
Mi problema era que tenía un botón de cierre en mi modal
Al presionar enter en el campo de entrada, este botón se disparó. Lo cambié a un ancla en su lugar y ahora funciona como se esperaba (ingresar envía el formulario y no cierra el modal).
Sin embargo, sin ver su fuente, no puedo confirmar que su causa sea la misma.
fuente
Simplemente agregue el atributo type = "button" al elemento button, algunos navegadores interpretan el tipo como enviar de forma predeterminada.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Attributes
Esto se aplica a todos los botones que tienes en el modal.
fuente
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 resultara 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á utilizando 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 modal de Bootstrap con un solo campo de entrada de texto siempre se descartan en la tecla Intro
fuente
type="button"
todos mis botones de cerrar / cancelar, pero todavía tenía este problema con la tecla Intro para cerrar mi modal. Tenía solo 1 campo de texto de entrada en mi modal y su solución lo solucionó. ¡Gracias por tu respuesta!Puede poner el botón de inicio de sesión antes del botón de cancelar y esto también resolvería el problema que tiene.
fuente
Tuve el mismo problema y lo resolví con
pero hay una solución más, puede agregar una entrada invisible ficticia, por lo que su formulario se vería así:
fuente
Tuve una experiencia similar en este momento y la forma en que lo resolví fue en lugar de usar una etiqueta, cambié la etiqueta a una etiqueta con type = "button". Esto pareció resolver el problema de presionar la tecla "enter" y descartar el modal de arranque.
fuente
Yo también tuve este problema y lo resolví de esta manera. Agregué onsubmit al formulario. También quería poder usar la tecla enter como una clave para guardar, así que agregué save_stuff () javascript a onsubmit. falso retorno; se utiliza para evitar el envío del formulario.
fuente