Controle clavier avec javascript

morice

Best Member
Voilà le problème:
Pour réaliser une fonctionnalité de chat, j'utilise une textarea, or comme vous le savez, la touche entrée dans ce cas ne soumet pas le formulaire mais fais un saut de ligne dans cette textarea (si on est dedans bien évidemment)
Donc on me demande de faire la chose suivante, conserver la fonction de la touche Entrée telle q'elle sert jusqu'à maintenant et utiliser la combinaison Ctrl+Entrée pour soumettre le formulaire...
j'utilise la fonction keyCode avec un évenement onKeyDown, mais le problème est que là je n'arrive à détecter qu'une seule touche à la fois, et même en essayant d'être le plus synchrone possible, je n'y arrive pas...

voilà mon script actuel, si ça vous dit:
<script language="JavaScript">
function test(pEvent){
if(pEvent.keyCode==13 || pEvent.keyCode==17 )
{ alert("OK");}
// alert(pEvent.keyCode);
// alert("Non");
}
</script>

<body onKeyDown="javascript:test(event);">
 

multiformat

New Member
:fleche: As-tu essayé de cette manière ?
if(pEvent.keyCode==13 && pEvent.keyCode==17 )
L'opérateur que tu as choisi étant un OU, est-ce normal ?
:fleche: oublie pas de déclarer plutôt :
<script type="text/javascript" language="1.5"> (si c'est la version de Javascript que tu utilises)
:fleche: Je crois que onkeyDown ne prend pas en compte la touche Entrée (Google ? http://fr.selfhtml.org/javascript/objets/event.htm)
:fleche: Pour la simple et bonne raison que l'événement que tu cherches à contrôler est une hérésie en terme d'usage. As-tu déjà vu des formulaires pareils ailleurs ? Les as-tu apprécié ? Crois-tu que les utilisateurs de ton formulaire comprendront, arriveront et apprécieront cette manip' ???
 

morice

Best Member
:fleche: je vais essayer ça
:fleche: pas nécessaire (ne change rien)
:fleche: elle prend en compte la touche entrée sinon je n'aurai pas su qu'elle renvoyait la valeur 13 :laugh:
:fleche: pour l'utilité et l'appréciation ce n'est pas à moi d'en juger, je suis à la lettre le cahier des charges, problème: ils m'ont donné un exemple où ceci fonctionnait (RezoG) et du coup je ne peux pas leur dire que ce n'est pas possible, et je n'arrive pas à trouver où ils font ça...sinon j'aurai copié le code et on en parle plus :laugh:
 

Ca peut vous intéresser