Comment déclencher un clic sur un bouton en JavaScript au moment où la touche Entrée est pressée dans une zone de texte ?
Le langage JavaScript peut entre autres détecter les touches du clavier sur lesquelles l'internaute tape.
Le langage JavaScript fonctionne selon des événements qui lui permettent d'exécuter du code en fonction des actions de l'internaute. Il peut entre autres détecter les touches du clavier sur lesquelles l'internaute tape (lire aussi l'autre astuce: Comment définir la valeur d'une zone de texte (textarea) en jQuery ?).
Deux événements permettent de gérer les interactions avec le clavier : onkeydown qui se déclenche quand on appuie sur une touche, et onkeyup qui se déclenche quand on cesse d'appuyer sur une touche. Une fois l'événement déclenché, l'objet event contient toutes les informations relatives à cet événement.
Dans le cas d'un événement lié au clavier, l'attribut keyCode contient le code de la touche sur lequel l'utilisateur a appuyé. En le comparant avec le chiffre 13 qui est le code de la touche entrée du clavier, vous saurez si l'utilisateur a appuyé sur entrée. Le langage JavaScript permet également de déclencher soi-même un événement. En appelant la méthode click(), vous simulez un click sur l'objet et déclenchez l'événement associé.
Exemple :
<input type=text id=champTexte onkeydown=if (event.keyCode == 13) document.getElementById('bouton').click()/> <input type=button id=bouton value=Valider onclick=maFonction(); /> Vous pouvez également utiliser la bibliothèque jQuery afin de raccourcir le code grâce au sélecteur : $(#champTexte).keydown(function(event){ if(event.keyCode == 13){ $(#bouton).click(); } });