116 votes

Soumettre le formulaire avec la touche Entrée sans bouton de soumission ?

Duplicata possible :
HTML : Soumettre un formulaire en appuyant sur la touche Entrée sans bouton d'envoi

Comment puis-je soumettre un formulaire en appuyant simplement sur la touche Entrée d'un champ de saisie de texte, sans devoir ajouter un bouton d'envoi ?

Je me souviens que cela fonctionnait dans le passé, mais je l'ai testé maintenant et le formulaire n'est pas soumis à moins qu'il ne contienne un champ de saisie de type submit.

209voto

timmah.faase Points 679
$("input").keypress(function(event) {
    if (event.which == 13) {
        event.preventDefault();
        $("form").submit();
    }
});

47voto

Jay Gilford Points 9639

Remplacez #form par l'ID de votre formulaire

$('#form input').keydown(function(e) {
    if (e.keyCode == 13) {
        $('#form').submit();
    }
});

Ou alternativement

$('input').keydown(function(e) {
    if (e.keyCode == 13) {
        $(this).closest('form').submit();
    }
});

15voto

Brian Glaz Points 5833

La réponse de Jay Gilford marchera, mais je pense que le plus simple est de mettre un display: none; sur un bouton de soumission dans le formulaire.

5voto

drrcknlsn Points 7727

La réponse de @JayGuilford est bonne, mais si vous ne voulez pas de dépendance JS, vous pouvez utiliser un élément submit et le masquer simplement à l'aide de la fonction display: none; .

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