web-dev-qa-db-fra.com

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

Duplicate possible:
HTML: Soumettre un formulaire en appuyant sur entrée sans bouton d'envoi

Comment puis-je envoyer un formulaire avec la touche Entrée dans un champ de saisie de texte sans avoir à ajouter de 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 soumission.

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

Changez #form en l'identifiant de votre formulaire

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

Ou bien

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

La réponse de Jay Gilford fonctionnera, mais je pense vraiment que le moyen le plus simple est de simplement gifler un display: none; sur un bouton d'envoi du formulaire.

14
Brian Glaz

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 display: none;.

5
FtDRbwLXw6