Signaler

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

Posez votre question ponpon - Dernière réponse le 9 oct. 2017 à 01:06 par -Yox-
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
Utile
+98
plus moins
Code à mettre dans <body>
onKeyPress="if (event.keyCode == 13) mafonction()"
Pratique pour valider un formulaire par exemple...
LENoobY- 1 juin 2012 à 10:55
Merci, c'est nickel, pas la peine d'aller plus loin ^^
monsieurLeek- 13 janv. 2014 à 13:14
Parfait, merci beaucoup.
Utilisateur anonyme - 27 mai 2014 à 16:52
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.
-Yox- 46Messages postés samedi 9 février 2013Date d'inscription 9 octobre 2017 Dernière intervention - 9 oct. 2017 à 01:06
Merci !
Répondre
Utile
+8
plus moins
Merci a tous j'ai trouvé la soluce :

window.event.keyCode == 13
Utile
+5
plus moins
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">
Utile
+4
plus moins
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 :)
seb88- 21 févr. 2011 à 15:58
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...
Utile
+4
plus moins
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
fan53- 17 mai 2015 à 12:23
et pour un Ctrl + A par exemple ?
Utile
+2
plus moins
Oui mais je veux spécifier la touche enter
Utile
+1
plus moins
Salut je me retrouve avec le même problème pourrais tu préciser la syntaxe que tu as utilisé ?
Utile
-8
plus moins
si je me rappel bien a la place de onkeypress tu mis onkeyclic
Utile
-9
plus moins
onkeyclic
unlolparan- 21 févr. 2013 à 12:28
ok alors lol
anonymus- 7 janv. 2014 à 10:27
encore lol donc
Utilisateur anonyme - 27 mai 2014 à 16:54
XDDDD
Anonimus- 22 mars 2015 à 16:47
Ouai lol

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !