114 votes

Éviter les modal rejeter sur Entrez keypress

J’ai mis en place un bootstrap modale avec une forme à l’intérieur, je viens de m’apercevoir que lorsque j’appuie sur la touche entrée, le modal obtient rejeté. Y a-t-il un moyen ne pas à faire disparaître en appuyant sur Enter ?

J’ai essayé d’activer le modal avec clavier : faux, mais qui empêche seulement le licenciement avec la touche ÉCHAP.

127voto

vish Points 1016

J’ai juste eu ce problème aussi.
Mon problème était que j’avais un bouton Fermer dans mon modal

Pressurage entrez dans le champ d’entrée causé ce bouton à être tiré. Je l’ai changé à un point d’ancrage au lieu de cela, et il fonctionne comme prévu maintenant (entrez envoie le formulaire et ne ferme pas le modal).

Sans voir votre source, je ne peux pas confirmer que votre cause est le même bien.

87voto

jcalonso Points 817

Il suffit d’ajouter le type = « button » attribut à l’élément button, certains navigateurs interprètent le type comme soumettre par défaut.

http://www.w3schools.com/Tags/att_button_type.asp

Ceci est valable pour tous les boutons que vous avez dans le modal.

21voto

jpeskin Points 801

J'ai eu ce problème même après la suppression de TOUS les boutons de mon Modal Bootstrap, si aucune des solutions ici m'a aidé.

J'ai trouvé qu'un formulaire avec un champ de texte unique serait la cause de la navigateur de la soumission d'un formulaire (et le résultat dans les rejeter), si vous appuyez sur Entrée, tandis que le focus clavier est sur le champ de texte. Cela semble être plus d'un navigateur/formulaire de question que quoi que ce soit avec Bootstrap.

Ma solution a été de définir la forme du onsubmit attribut onsubmit="return false"

Cela peut être un problème si vous êtes réellement en utilisant l'événement submit, mais je suis en utilisant des frameworks JS qui génèrent des requêtes AJAX plutôt que de faire un navigateur présenter, donc je préfère la désactivation de la soumettre entièrement. (Aussi, je n'ai pas à modifier manuellement chaque élément de formulaire qui pourrait déclencher un submit).

Plus d'infos ici: Bootstrap des boîtes de dialogue modales avec un seul champ de saisie de texte toujours rejeter sur la touche Entrée

8voto

Ryan Points 61

Vous pouvez mettre le bouton de login avant le bouton Annuler et cela résoudrait le problème que vous rencontrez aussi bien.

3voto

Willson Mock Points 567

J’ai eu une expérience similaire tout à l’heure et la façon dont je l’ai résolu était au lieu d’utiliser une balise, j’ai changé la balise pour une balise avec type = « button ». Ceci a semblé résoudre le problème en appuyant sur la touche « enter » et rejetant le modal bootstrap.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X