Test Saisie JavaScript

Fermé
nanati Messages postés 7 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 22 avril 2009 - 20 févr. 2009 à 19:31
nanati Messages postés 7 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 22 avril 2009 - 21 févr. 2009 à 11:07
Bonsoir les amis,
J'ai un problème dans un exercice, il est demande de saisir un nombre au hasard, ce dernier doit appartenir à un intervalle donné, si le nombre saisi est supérieur au nombre connu par le programme, on affiche une alerte qui demande de saisir un nombre plus petit et s'il est inferieur on demande la saisie s'un nombre plus grand et si le nombre saisi est égale au nombre connu par le programme on affiche une alerte qui nous informe que le nombre saisi est le chiffre demandé.

Le problème c'est qu'on doit tester le nombre d'essai il doit pas dépasser une certaine valeur.
Voici le code sans le test.
et Merci d'avance

<html>
<head>
<SCRIPT LANGUAGE="JAVASCRIPT">
function test(form1){

var nume=document.form1.num.value;

if (nume>5) alert ("Veuillez saisir un nombre plus petit");
if (nume<5) alert ("Veuillez saisir un nombre plus grand");
if (nume==5) alert ("Bravo c le nombre Mystérieux");
}

</SCRIPT>
</head>

<body>

<h1><center>Jeux du Nombre Mystérieux</center></h1><br><br>

<form name="form1">
Veuillez saisir un nombre entre 0 et 10 au hasard :
<input type="text" name="num"><br>
<input type="submit" name="Tester" value="Tester" onClick="test(form1)">
</form>

</body>
</html>

3 réponses

nanati Messages postés 7 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 22 avril 2009 1
20 févr. 2009 à 20:05
oui ça fonctionne, je veux ajouter dans ce code le test de nombre de saisie qu'il faut pas dépasser
1
Sihaya Messages postés 19 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 19 mai 2009 1
20 févr. 2009 à 21:12
C'est assez simple, tu dois créer un compteur au chargement de ta page, et tu augmenteras sa valeur à chaque tentative de l'utilisateur.

Tu dois la créer avant de rentrer dans ta fonction, sinon tu la réinitialiseras à chaque clic sur le bouton !

Donc on commence par :

<html>
<head>
<SCRIPT LANGUAGE="JAVASCRIPT">
var compteur = 1;
function test(form1){
...

Petit souci : dans ton formulaire, tu utilises un submit qui recharge toute la page à chaque fois qu'on clique dessus !
Et quand on recharge la page, on remet le compteur à 1...

Donc on remplace

<input type="submit" name="Tester" value="Tester" onClick="test(form1);">

Par

<input type="button" name="Tester" value="Tester" onClick="test(form1);">

Vu qu'on ne recharge plus la page, la valeur saisie par l'utilisateur reste affichée.
C'est pas très joli, donc on la supprimera après chaque saisie.

Pour faire ça proprement, au début de la fonction on récupère le champ de formulaire comme ça :

var nume=document.getElementById("num");

Et après chaque tentative on le vide comme ça :

nume.value="";

Ensuite dans ta fonction test(form1) :

- Tu commences par vérifier que le nombre maximum de tentatives n'est pas dépassé !

-- Si il est dépassé, tu indiques à l'utilisateur qu'il a perdu :

if(compteur >= 3)
{
alert("Vous avez perdu !");
nume.value="";
compteur = 1;
}

-- S'il n'est pas encore atteint, tu vérifies la valeur saisie.

--- Si la valeur est trop petite ou trop grande, tu affiches le message d'alerte, tu ajoutes 1 au compteur et tu effaces la valeur saisie dans le champ.

--- Si la valeur est bonne, tu affiches le message d'alerte, tu effaces la valeur saisie dans le champ et tu réinitialises le compteur !

Au final ça nous donne :

<html>
<head>
<script language="javascript">

var compteur = 1;

function test(form1){
var nume=document.getElementById("num");
if(compteur >= 3)
{
alert("Vous avez perdu !");
nume.value= "";
compteur = 1;
}
else if(compteur < 3)
{
if(nume.value < 5)
{
alert("Essayez un nombre plus grand !");
nume.value = "";
compteur++;
}
else if (nume.value > 5)
{
alert("Essayez un nombre plus petit !");
nume.value = "";
compteur++;
}
else if(nume.value==5)
{
alert("Bravo ! Vous avez trouvé le nombre mystère !");
nume.value= "";
compteur = 1;
}
else
{
alert("Veuillez saisir un nombre");
}
}
}

</script>
</head>

<body>

<h1><center>Jeu du Nombre Mystérieux</center></h1><br><br>

<form name="form1" action='' method="POST">
Veuillez saisir un nombre entre 0 et 10 au hasard :
<input type="text" name="num" id="num"><br>
<input type="button" name="Tester" value="Tester" onClick="test(form1);">
</form>

</body>
</html>
0