JavaScript - Simuler la touche "Entrée" sur un input
Résolu/FerméBaptiste_xls Messages postés 15 Date d'inscription mercredi 3 février 2021 Statut Membre Dernière intervention 2 août 2022 - 2 août 2022 à 15:07
- Alternative touche entrée
- Coco.gg alternative - Accueil - Réseaux sociaux
- Remplaçant de Coco : quelles solutions pour tchater gratuitement en ligne ? - Accueil - Réseaux sociaux
- Wawacity alternative - Accueil - Outils
- Touche rémanente - Guide
- Touche insert - Guide
2 réponses
2 août 2022 à 14:58
J'ai mis la condition dans le input et ça a marché.
<input class="form-control" id="codeReservation" type="text" maxlength="6" size="3" onkeypress="if (event.keyCode == 13) showData()">
Bonne journée,
Baptiste
Salut,
window.event est en effet déprécié depuis un bail:
https://developer.mozilla.org/en-US/docs/Web/API/Window/event
Cela n'a d'ailleurs jamais été une solution correcte vu que son alternative est tellement plus efficace et pratique; la voici:
https://developer.mozilla.org/fr/docs/Web/API/EventTarget/addEventListener
Il faut bien entendu supprimer l'attribut onkeypress pour regrouper tout le code dans le javascript(ce qui est mieux) et qui n'a aucun sens relié à un input(vous mettez un input HTML dans la page pour détecter un événement du clavier plutôt que détecter le clavier directement et si la touche entrée est enfoncée).
Et remplacer par :
window.addEventListener("keypress", function(e){
console.log('code touche enfoncée = '+e.keyCode)
},
false);
Éventuellement remplacer keypress par keydown qui est plus précis dans la plupart des cas (car keydown détecte/agit quand la touche est enfoncée)et remplacer la fonction anonyme par une fonction nommée pour pouvoir la supprimer si besoin.
Si vous voulez n'avoir le comportement/event que lorsque l'input est actif il faudra rajouter un event "focus" puis inclure la détection de la touche entrée dans celui ci(en imbriquant les fonctions l'une dans l'autre).
https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event
ps: un input est fait pour être dans un formulaire, cela fonctionnera si ce n'est pas le cas mais reste faux en HTML donc nuit au bon référencement des contenus.
2 août 2022 à 15:07
Merci pour votre réponse.
J'en prend note pour les prochaines fois ;)
Baptiste