Controle du saisie clavier avec javascript
Résolu/Fermé
vertuee
Messages postés
17
Date d'inscription
mardi 20 octobre 2009
Statut
Membre
Dernière intervention
20 mars 2010
-
11 déc. 2009 à 19:29
mimi - 15 mai 2013 à 23:15
mimi - 15 mai 2013 à 23:15
A voir également:
- Javascript saisie utilisateur
- Telecharger javascript - Télécharger - Langages
- Saisie gestuelle iphone - Guide
- Saisie vocale sms - Guide
- Gboard saisie vocale - Accueil - Applications & Logiciels
- Saisie vocale whatsapp - Accueil - Messagerie instantanée
15 réponses
Impli
Messages postés
235
Date d'inscription
mardi 24 novembre 2009
Statut
Membre
Dernière intervention
18 août 2013
34
11 déc. 2009 à 19:33
11 déc. 2009 à 19:33
Essaie avec l'évenement OnKeyUp ou OnChange.
Pour vérifier la valeur de ton champ, pense aux regex.
<input type="text" id="machin" name="machin" onkeyup="javascript:ton_js();" value="truc" />
Pour vérifier la valeur de ton champ, pense aux regex.
<input type="text" id="machin" name="machin" onkeyup="javascript:ton_js();" value="truc" />
vertuee
Messages postés
17
Date d'inscription
mardi 20 octobre 2009
Statut
Membre
Dernière intervention
20 mars 2010
11 déc. 2009 à 19:48
11 déc. 2009 à 19:48
svp si vous pouvez me renseigner d'avantage est ce que je peux utiliser cette fonction avec le code que j'ai deja fait,
Impli
Messages postés
235
Date d'inscription
mardi 24 novembre 2009
Statut
Membre
Dernière intervention
18 août 2013
34
11 déc. 2009 à 19:52
11 déc. 2009 à 19:52
Oui tu peux.
OnKeyUp se déclenche quand on appuie sur une touche du clavier et que l'on est dans le champ en question.
OnChange se déclenche à chaque modification de la valeur du champ.
OnKeyUp se déclenche quand on appuie sur une touche du clavier et que l'on est dans le champ en question.
OnChange se déclenche à chaque modification de la valeur du champ.
Zestyr
Messages postés
466
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
17 octobre 2011
52
11 déc. 2009 à 19:57
11 déc. 2009 à 19:57
OnChange se déclenche à chaque modification de la valeur du champ.
c'est à dire quand la valeur du champ change et que le champ perd son focus
c'est à dire quand la valeur du champ change et que le champ perd son focus
Impli
Messages postés
235
Date d'inscription
mardi 24 novembre 2009
Statut
Membre
Dernière intervention
18 août 2013
34
11 déc. 2009 à 19:59
11 déc. 2009 à 19:59
Exact, j'avais oublié le détail du focus.
Mais je pense qu'il est préferable d'utiliser l'event OnKeyUp pour ce genre de vérif'.
Mais je pense qu'il est préferable d'utiliser l'event OnKeyUp pour ce genre de vérif'.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
vertuee
Messages postés
17
Date d'inscription
mardi 20 octobre 2009
Statut
Membre
Dernière intervention
20 mars 2010
11 déc. 2009 à 20:13
11 déc. 2009 à 20:13
ok je vais l'essayer, merci,
bien que j'ai besoin d'un code plus complet
bien que j'ai besoin d'un code plus complet
Impli
Messages postés
235
Date d'inscription
mardi 24 novembre 2009
Statut
Membre
Dernière intervention
18 août 2013
34
11 déc. 2009 à 20:17
11 déc. 2009 à 20:17
<form method="post" action="#"> <input type="text" name="truc" id="truc" value="" onkeyup="javascript:test();" /> </form> <script language="javascript"> <!-- function test() { if (document.getElementById("truc").value != "bidule") { alert("La valeur est différente de bidule."); } } //--> </script>
A chaque touche pressée dans le champ truc, si la valeur est différente de bidule, une alerte sera affichée.
vertuee
Messages postés
17
Date d'inscription
mardi 20 octobre 2009
Statut
Membre
Dernière intervention
20 mars 2010
11 déc. 2009 à 20:38
11 déc. 2009 à 20:38
ok merci ca marche bien mais j'ai utiliser une expression reguliere pour interdire une autre valeur que l'entier d'entree mais le msg d'erreur s'affiche meme si j'entre un entier, comment je peut preciser l'intervalle
vertuee
Messages postés
17
Date d'inscription
mardi 20 octobre 2009
Statut
Membre
Dernière intervention
20 mars 2010
11 déc. 2009 à 21:14
11 déc. 2009 à 21:14
le probleme c que le message d'erreur s'affiche meme si je rentre une valeur vraie, voila mon code
function test() {
if (document.getElementById("student_code").value != "0123456789") {
alert("La valeur entree n'est pas correcte.");
}
}
<input type="text" name ="student_code" onkeyup="javascript:test();">
votre aide svp, ca me bloque,
function test() {
if (document.getElementById("student_code").value != "0123456789") {
alert("La valeur entree n'est pas correcte.");
}
}
<input type="text" name ="student_code" onkeyup="javascript:test();">
votre aide svp, ca me bloque,
Impli
Messages postés
235
Date d'inscription
mardi 24 novembre 2009
Statut
Membre
Dernière intervention
18 août 2013
34
11 déc. 2009 à 21:16
11 déc. 2009 à 21:16
"0123456789" n'est pas une regex (expression régulière).
Ta condition ne sera bonne que si ton champ vaut exactement 0123456789 et rien d'autre.
https://www.commentcamarche.net/contents/585-javascript-l-objet-regexp
Ta condition ne sera bonne que si ton champ vaut exactement 0123456789 et rien d'autre.
https://www.commentcamarche.net/contents/585-javascript-l-objet-regexp
vertuee
Messages postés
17
Date d'inscription
mardi 20 octobre 2009
Statut
Membre
Dernière intervention
20 mars 2010
11 déc. 2009 à 21:44
11 déc. 2009 à 21:44
meme si j'entre la valeur 0 en premier lieu l'erreur se declenche j'ai entere cette valeur comme test mais ca ne marche pa
vertuee
Messages postés
17
Date d'inscription
mardi 20 octobre 2009
Statut
Membre
Dernière intervention
20 mars 2010
11 déc. 2009 à 21:52
11 déc. 2009 à 21:52
de limiter la chaine de caractere de cette façon [0-9] comme en fait exactement en c mais aussi la solution n'est pa la bonne, il parait que j'ai commi une erreur dans l'appel du fonction mais je ne trouve ou est exactement cette erreur,
Zestyr
Messages postés
466
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
17 octobre 2011
52
11 déc. 2009 à 22:10
11 déc. 2009 à 22:10
[0-9] = \d
Il est donc préférable d'utiliser cette classe plutôt que d'en recréer une identique(c'est plus lisible et surtout plus court) .
Donc le motif qui vérifie un nombre entier est /^\d+$/
Pour un nombre décimale ça serait donc /^\d+\.?\d*$/
Il est donc préférable d'utiliser cette classe plutôt que d'en recréer une identique(c'est plus lisible et surtout plus court) .
Donc le motif qui vérifie un nombre entier est /^\d+$/
Pour un nombre décimale ça serait donc /^\d+\.?\d*$/
vertuee
Messages postés
17
Date d'inscription
mardi 20 octobre 2009
Statut
Membre
Dernière intervention
20 mars 2010
12 déc. 2009 à 12:32
12 déc. 2009 à 12:32
merci pour cette aide, ca c'est pour le OnkeyUp, mais je pense maintenant a utiliser le en Onkeypress pour interdire l'utilisater a entrer une autre valeur que les entieres, cad que le message d'erreur va s'afficher sans que la valeur errone s'affiche dans le champ de saisie, est ce ue cela peu etre aplicable avec cette fonction ou avec d'autres? malheureusement jusqu'a maintenant je n'ai pas atteint le resultat attendé, il faut que le curseur se bloque et n'ecrit pas la valeur si une autre valeur apart les entiers est presse par l'utilisateur,
Zestyr
Messages postés
466
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
17 octobre 2011
52
12 déc. 2009 à 13:24
12 déc. 2009 à 13:24
Tu devrais pouvoir faire ça avec les regex:
<input type="text" onkeyup="this.value = this.value.match(/\d+/);" />
<input type="text" onkeyup="this.value = this.value.match(/\d+/);" />
vertuee
Messages postés
17
Date d'inscription
mardi 20 octobre 2009
Statut
Membre
Dernière intervention
20 mars 2010
13 déc. 2009 à 21:31
13 déc. 2009 à 21:31
salut, voila j'ai trouve un autre façon de faire ce que je veux et c'est mon code complet ça marche bien maintenant mais sauf que je ne trouve ou je vais placer un message d'alerte qui demande au utilisateur de taper uniquement des entiers, je suis desole si mes questions vous parait bete mais je ne comprend pas grand chose du javascript et j'essai d'avoir un resultat,
<html>
<head>
<title> TP3 Injection SQL </title>
<SCRIPT language="JavaScript">
<!--
function Controle()
{
if(document.formulaire.student_code.value=='') // 1
{
alert('Ce champ ne peut pas rester vide !');
document.formulaire.student_code.focus();
}
else if(document.formulaire.student_code.value.length>8) // 3
{
alert('Votre identifiant ne doit pas depasser 8 caractères !');
document.formulaire.student_code.focus();
}
else
{
document.formulaire.method = "POST";
document.formulaire.action = "check.php";
document.formulaire.submit();
}
}
function codeTouche(evenement)
{
for (prop in evenement)
{
if(prop == 'which') return (evenement.which);
}
return(evenement.keyCode);
}
function scanTouche(evenement)
{
var reCarSpeciaux = /[\x00\x08\x0D]/;
var reCarValides = /[\d]/ ;
var codeDecimal = codeTouche(evenement);
var car = String.fromCharCode(codeDecimal);
var autorisation = reCarValides.test(car);
return autorisation;
}
//-->
</script>
</head>
<body>
<form name="formulaire" onSubmit="Controle();" >
<p align="center">
<br><br><br>
<b>Entrer le code de l'etudiant : <input type="text" name ="student_code" onKeyPress="return scanTouche(event); alert('taper un entier'); "></b>
<br><br>
<input type="submit" value="Envoyer" >
</p>
</form>
</body>
</html>
<html>
<head>
<title> TP3 Injection SQL </title>
<SCRIPT language="JavaScript">
<!--
function Controle()
{
if(document.formulaire.student_code.value=='') // 1
{
alert('Ce champ ne peut pas rester vide !');
document.formulaire.student_code.focus();
}
else if(document.formulaire.student_code.value.length>8) // 3
{
alert('Votre identifiant ne doit pas depasser 8 caractères !');
document.formulaire.student_code.focus();
}
else
{
document.formulaire.method = "POST";
document.formulaire.action = "check.php";
document.formulaire.submit();
}
}
function codeTouche(evenement)
{
for (prop in evenement)
{
if(prop == 'which') return (evenement.which);
}
return(evenement.keyCode);
}
function scanTouche(evenement)
{
var reCarSpeciaux = /[\x00\x08\x0D]/;
var reCarValides = /[\d]/ ;
var codeDecimal = codeTouche(evenement);
var car = String.fromCharCode(codeDecimal);
var autorisation = reCarValides.test(car);
return autorisation;
}
//-->
</script>
</head>
<body>
<form name="formulaire" onSubmit="Controle();" >
<p align="center">
<br><br><br>
<b>Entrer le code de l'etudiant : <input type="text" name ="student_code" onKeyPress="return scanTouche(event); alert('taper un entier'); "></b>
<br><br>
<input type="submit" value="Envoyer" >
</p>
</form>
</body>
</html>