Recuperer une touche presser [Résolu]

xactise 507 Messages postés mardi 18 février 2003Date d'inscription 22 juin 2012 Dernière intervention - 17 mars 2006 à 09:19 - Dernière réponse : cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention
- 18 mars 2006 à 09:16
bonjours j'ai un input type=text et je voudrai a recuperer chaque touche presser pour les metre dans un tableau
donc jaavais fait un onKeyup="ma_fonction();"

le pb c que j'arrive qu'a recuperer la value a chaque fois
donc sa marche que pour la premiere letre
si l'internaute tape "a" je recupere a
mais apres si il tape "z" je recupere "az"
comment faire pour recuperer que la letre qu'il vient de taper?
d'avance merci

L0rD...
Afficher la suite 

Votre réponse

23 réponses

Meilleure réponse
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 17 mars 2006 à 09:52
3
Merci
Bonjour,
~ ne prendre que la dernière lettre du champ
( regarder du coté de champ.substring ou .substr )
~ le n° touche qui veint d'être enfoncée c'est
event.keyCode pour IE,
evt.which pour FF en "surveillant" l'évênement onkeyup.
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>

Merci cs_bultez 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de cs_bultez
xactise 507 Messages postés mardi 18 février 2003Date d'inscription 22 juin 2012 Dernière intervention - 17 mars 2006 à 09:45
0
Merci
voici ce que j'ai fait :
function getKey(e) {
//Récupère la touche présser en ASCII
ascii = e.keyCode;
// Transforme le mode ASCII en caractère
touche = String.fromCharCode(ascii);
alert(touche);
}

mon problème est qui me dit a chaque fois que la touche presser est en MAJ
si je presse "t" il maffiche T
si je persse "T" il m'affiche T
il reconnais pas les MAJ des min
quelqu'un pourrait m'aider ?
L0rD...
Commenter la réponse de xactise
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 17 mars 2006 à 09:55
0
Merci
croisement...
>>il reconnais pas les MAJ des min
keycode ou which on obtient le n° de touche
.shiftKey ==> shift enfoncé ou pas.
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Commenter la réponse de cs_bultez
xactise 507 Messages postés mardi 18 février 2003Date d'inscription 22 juin 2012 Dernière intervention - 17 mars 2006 à 10:00
0
Merci
le pb été du au faite que j'activer ma fonction avec levenement onkeyup si je fait onkeypress sa marche merci a toi ;)

L0rD...
Commenter la réponse de xactise
xactise 507 Messages postés mardi 18 février 2003Date d'inscription 22 juin 2012 Dernière intervention - 17 mars 2006 à 10:08
0
Merci
une autre question comment savoir si c'est la touche Delete qui a été presser ?
j'ai essayer en faisant :
if ascii == "8"
mais sa marche pas ... =/

L0rD...
Commenter la réponse de xactise
xactise 507 Messages postés mardi 18 février 2003Date d'inscription 22 juin 2012 Dernière intervention - 17 mars 2006 à 10:24
0
Merci
je pense avoir compri le principe sans vraiment resoudre mon pb
pour recuperer un caractere il faut que sa soit press
pour recuperer les touche spécial (alt , ctrl , backspace , etc.) il faut que sa soit keydown ou keyup
sa n'arrange pas mon problème si quelqu'un pouvait m'aider
d'avance merci

L0rD...
Commenter la réponse de xactise
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 17 mars 2006 à 10:43
0
Merci
1° if ( ascii == 8 ) ça aurait plus de chances , mais :
2° je te cite : pour recupérer les touche spéciales (alt , ctrl , backspace , etc.)
il faut que ce soit keydown ou keyup
tout est dit.
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Commenter la réponse de cs_bultez
xactise 507 Messages postés mardi 18 février 2003Date d'inscription 22 juin 2012 Dernière intervention - 17 mars 2006 à 11:02
0
Merci
tu n'aurait pas une idée alors dans c K la ?
pcq en faite jtexplik le principe de mon truc
je recupere lettre par lettre la valeur dun input type=text
mais dans c K la faut prendre en compte le K ou l'internaute efface une lettre :/
si tu a une idée c la bienvenue

L0rD...
Commenter la réponse de xactise
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 17 mars 2006 à 11:22
0
Merci
<MARQUEE onmouseover=this.stop(); style="BORDER-RIGHT: #ff6a22 1px solid; BORDER-TOP: #ff6a22 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 12px; BORDER-LEFT: #ff6a22 1px solid; WIDTH: 400px; BORDER-BOTTOM: #ff6a22 1px solid; FONT-FAMILY: Comic Sans MS" onmouseout=this.start(); scrollDelay=600 direction=up bgColor=#e0ffe0 height=50>
<CENTER>
J'aurais préféré un texte que les humains comprennent.

Vous n'êtes pas sur un portable, votre clavier possède au
moins 102 touches, vous pouvez les utiliser.

Réagissons contre le langage SMS
et les fautes d'orthographe volontaires. </CENTER></MARQUEE>

j'ai beaucoup de mal à traduire...

je recupere lettre par lettre la valeur dun input type=text
est-ce réellement nécessaire au fur et à mesure de la frappe ?
c'est un exercice ?

dans une réponse je disais :
~ ne prendre que la dernière lettre du champ
( regarder du coté de champ.substring ou .substr )

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Commenter la réponse de cs_bultez
xactise 507 Messages postés mardi 18 février 2003Date d'inscription 22 juin 2012 Dernière intervention - 17 mars 2006 à 11:27
0
Merci
oui c'est nessaire car je doit verifier si ce mot contien des min , des MAJ , des chiffre , des caractere spéciaux
pour ce qui est de ton champ.substring ou champ.substr
sa va prendre en compte le faite que l'utilisateur peut apuyer sur delete ?

L0rD...
Commenter la réponse de xactise
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 17 mars 2006 à 11:40
0
Merci
si ce n'est qu'un contrôle...
quand le champ est totalement saisi ==> test du contenu
[ avec une(des) expression(s) régulière(s) ]
ça ne suffit pas ?

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>

</FO>
</S< body>
Commenter la réponse de cs_bultez
xactise 507 Messages postés mardi 18 février 2003Date d'inscription 22 juin 2012 Dernière intervention - 17 mars 2006 à 11:44
0
Merci
bon derniere question apres promis je t'enbete plus (de toute façon si ta réponse est positive sa devrai marcher)
est ce qu'il y a moyen de passer une variable dune methode a l'autre je m'explique :
admeton j'ai sa :
onkeydown="var x=ma_fonction1();" onkeypress(x);"

est ce que ma variable x vas passer de la methode onkeydow a la methode onkeypress ?
si non y a t-il moyen de faire sa autrement

L0rD...
Commenter la réponse de xactise
xactise 507 Messages postés mardi 18 février 2003Date d'inscription 22 juin 2012 Dernière intervention - 17 mars 2006 à 11:44
0
Merci
onkeypress="ma_fonction2(x)";
je me suis tromper au dessus pardon

L0rD...
Commenter la réponse de xactise
xactise 507 Messages postés mardi 18 février 2003Date d'inscription 22 juin 2012 Dernière intervention - 17 mars 2006 à 12:08
0
Merci
c'est bon je me suis demerder autrement :

function estchiffre(x){
if(x>=0 && x<=9){
return true;
}
else return false;
}

function estmin(x){
if(x>="a" && x<="z"){
return true;
}
else return false;
}

function estMAJ(x){
if(x>="A" && x<"Z"){
return true;
}
else return false;
}

function estspec(x){
if((x>="!" && x<="/") || (x>=":" && x<="@") || (x>="[" && x<="`") || (x>="{" && x<="~")){
return true;
}
else return false;
}
function test(){
x=document.formulaire.passadminform.value.length;
for(var j=0;j<x;j++){
k[j]=document.formulaire.passadminform.value.substring(j,j+1);
chiffre = estchiffre(k[j]);
min = estmin(k[j]);
MAJ = estMAJ(k[j]);
spec = estspec(k[j]);
}
}

L0rD...
Commenter la réponse de xactise
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 17 mars 2006 à 12:20
0
Merci
regarder les expressions rationnelles :
ça évitera les boucles.
document.formulaire.passadminform.value.match(....)
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Commenter la réponse de cs_bultez
xactise 507 Messages postés mardi 18 février 2003Date d'inscription 22 juin 2012 Dernière intervention - 17 mars 2006 à 12:25
0
Merci
une dernier question est ma fonction sera enfin fini parcequ'elle me prend la t^^ete :
j'ai 4 variable qui sont soit = a 0 soit egale à 1
je veut verifier si 1 ou 2 ou 3 ou 4 variable sont = a 1
comment faire ?
pcq avec des if ya plein de solution :
if(( var1==1 && var2==1 ) || ( var1==1 ou var3==1 ) etc..
tu n'aurai pas une solution ?

L0rD...
Commenter la réponse de xactise
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 17 mars 2006 à 12:40
0
Merci
utiliser un array ?
var varN=new Array(0,1,0,1);
et var1 c'est varN[1]...
pour tester faire une boucle qui regarde varN[indice] de 0 à varN.length
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Commenter la réponse de cs_bultez
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 17 mars 2006 à 12:44
0
Merci
m%$¤$@ c'est pénible... message qui revient à un état antérieur...

je disais ( avant d'être interrompu ) :

faire une boucle où l'on teste
varN[indice] avec indice variant de 0 à ( varN.length-1)

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Commenter la réponse de cs_bultez
xactise 507 Messages postés mardi 18 février 2003Date d'inscription 22 juin 2012 Dernière intervention - 17 mars 2006 à 13:14
0
Merci
bon voila ma fonction marche je te remercie pour ton aide

L0rD...
Commenter la réponse de xactise
xactise 507 Messages postés mardi 18 février 2003Date d'inscription 22 juin 2012 Dernière intervention - 17 mars 2006 à 18:02
0
Merci
re
une toute derniere question
donc je t'es expliquer le truc
je recupere letre par letre ce que l'internaute tape dans un input type=text
je regarde si il y a des letre , des min , des MAJ , des caractere speciaux
selon sa j'augmente la jauge de difficulte
(en faite sa dit si son pass est faible , moyen , difficile)
le probleme c'est que si admetons je tape :
aZ3 <== sa va dire difficile
mais sa ne prend pas en compte si l'utilisateur efface une (ou plusieur lettre)
exemple si il fait "Delete" et kil rajoute "e"
donc aZe logikement sa devrai marquer moyen hors sa reste niveau difficile
y-aurait t-il une methode decoute en temp reel de ce qui se pass ?? comment resoudre ce pb ?
d'avance merci

L0rD...
Commenter la réponse de xactise

Vous n'êtes pas encore membre ?

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

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 et codes sources.

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