web-dev-qa-db-fra.com

Javascript soumettre la zone de texte sur ENTER

Duplicata possible:
Lier la zone de texte à la touche 'Entrée'

J'ai fait un chat ajax/jquery et il n'y a pas de formulaire dans la zone de texte pour le message, donc je ne peux pas envoyer ce message avec ENTER sur le clavier.

Merci.

14
harisdev
document.getElementById("id_of_your_textbox").addEventListener("keydown", function(e) {
    if (!e) { var e = window.event; }
    e.preventDefault(); // sometimes useful

    // Enter is pressed
    if (e.keyCode == 13) { submitFunction(); }
}, false);
35
user625860
$('#textboxId').keydown(function (event) {
    var keypressed = event.keyCode || event.which;
    if (keypressed == 13) {
        $(this).closest('form').submit();
    }
});

Si vous n'avez pas de formulaire, remplacez $(this).closest('form').submit(); par la logique AJAX/submit que vous avez.

12
nachito

Vous devrez écouter l'événement de la touche ENTER. Jetez un oeil à Entrez l'événement de presse clé en JavaScript pour quelques exemples sur la façon dont cela est fait.

0
moranjk