Javascript evenement touche entrée du clavier [Résolu/Fermé]

Signaler
-
Messages postés
46
Date d'inscription
samedi 9 février 2013
Statut
Membre
Dernière intervention
9 octobre 2017
-
Bonjour,
J'aimerai savoir si quelqu'un peut m'indiquer comment faire pour lancer une fonction en appuyant sur entrée.

En fait j'inscrit un numéro dans un champs :

<input name="ndi" maxlength="10" style="width: 100px;"
onkeypress="NDI();" type="text">

Et quand j'appuie sur une touche sa lance la fonction NDI mais j'aimerai spécifier que cela soit la touche entrée du clavier.
Car certaine personne entre le numéro chiffre par chiffre et sa lance a chaque fois la fonction...

Merci d'avance

9 réponses

Code à mettre dans <body>
onKeyPress="if (event.keyCode == 13) mafonction()"
Pratique pour valider un formulaire par exemple...
103
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 61078 internautes nous ont dit merci ce mois-ci

Merci, c'est nickel, pas la peine d'aller plus loin ^^

Parfait, merci beaucoup.
Utilisateur anonyme
Salut !

Je me permet de r'ouvrir ce post un peu vieux, pour ajouter un conseil :

Il vaut mieux mettre l'évenement onKeyPress (qui au passage ne prend pas de majuscule si on le met dans du code HTML) sur un <input> que sur <body>

En effet, si vous avez plusieurs formulaires dans la page, vous allez devoir les différencier en regardant qui a envoyé l'évennement, ... et là ça va être body :)

Deuxième raison : en mettant keypress sur vos input plutot que body, vous déchargez le processeur. Puisqu'il n'y aura des évennements générés que lorsque vous êtes en train d'éditer un champ de formulaire.
Messages postés
46
Date d'inscription
samedi 9 février 2013
Statut
Membre
Dernière intervention
9 octobre 2017
13
Merci !
Merci a tous j'ai trouvé la soluce :

window.event.keyCode == 13
Par contre ensuite elle se fait comment la syntaxe ?
Car la je travaille et j'ai juste accès au site ccm...

Je te rappelle mon champs :

<input name="ndi" maxlength="10" style="width: 100px;"
onkeypress="NDI();" type="text">
Bonjour,

je rencontre actuellement le même genre de problème car j'essaie tant bien que mal à entrée les numéro du pavé numéro dans une calculatrice que j'ai créé en html ,css et javascript malheureusement je coince encore la dessus !

je voudrais pouvoir entrée au clavier des chiffres comme sur la calculatrice "microsoft " de notre menu démarrer "accessoires" du pc mais ca ne fonctionne pas , c'est-à-dire que je veux faire une liaison entre les touches tapées au clavier et ma calculatrice que j'ai créé mais rien ne fonctionne.

Voici mon code JS:

function keycode()
{
switch(e.keyCode)
{
case 48: afficher(0); break;
case 49: afficher(1); break;
case 50: afficher(2); break;
case 51: afficher(3); break;
case 52: afficher(4); break;
case 53: afficher(5); break;
case 54: afficher(6); break;
case 55: afficher(7); break;
case 56: afficher(8); break;
case 57: afficher(9); break;
case 42: afficher('*'); break;
case 43: afficher('+'); break;
case 45: afficher('-'); break;
case 46: afficher('.'); break;
case 47: afficher('/'); break;
}
}

please help me :)
Bonjour,

Il faut remplacer keycode() par keycode(e) et appeler la fonction avec onKeyPress="keycode(event)"

Pour les touches du pavé numérique, il faut utiliser les valeurs comprises entre 96 et 111...
Voir http://www.aspdotnetfaq.com/... pour plus de détails...

Voici la liste des évènements possible d'un clavier en javascript.
onkeypress : lorsqu'une touche est activée
onkeydown : lorsqu'une touche est enfoncée
onkeyup : lorsqu'une touche est 'relevée'

voir : http://www.commentcamarche.net/faq/18760-javascript-manipulation-des-controles-clavier
et pour un Ctrl + A par exemple ?
Oui mais je veux spécifier la touche enter
Salut je me retrouve avec le même problème pourrais tu préciser la syntaxe que tu as utilisé ?
si je me rappel bien a la place de onkeypress tu mis onkeyclic

onkeyclic
ok alors lol
encore lol donc
Utilisateur anonyme
XDDDD
Ouai lol