Boucle (for) HTML, avec if et else [Résolu/Fermé]

Signaler
Messages postés
7
Date d'inscription
dimanche 16 janvier 2011
Statut
Membre
Dernière intervention
28 octobre 2011
-
Messages postés
4310
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
-
Bonjour,


Je dois faire en sorte que quand la question 3+1 pop, le popup disent bravo (ca ca marche)

Mon problème vient quand l'utilisateur met autre chose que le nombre 4, le pop est sensé reposer la question en boucle, il ne la pose que 2 fois et ce ferme :/. Voici mon code :

<script type="text/javascript">
nom = window.prompt("nom ?");
alert("merci "+nom+ " bienvenue!");
</script>

<script type="text/javascript">

nb = window.prompt("3+1 ?");

if (nb==4) {
alert ("bravo")
}
else { nb!=4
nb = window.prompt("3+1 ?");
}

Je pense avoir oublier la fonction for, mais je ne sais pas ou la mettre, a l'aide svp :/.

7 réponses

Messages postés
4310
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
745
Hello,

Il ne faut pas utiliser de for, mais un while.
Hé oui, toi tu veux que "tant que l'utilisateur ne rentre pas 4, alors reposer la question".

Remplace donc ton 2e script par ceci :

<script type="text/javascript">
   nb = 0;

   while (nb != 4){
      nb = window.prompt("3+1 ?");
   }
</script>



Attention, j'ai initialisé nb à 0 donc cela posera problème si le résultat de ta question vaut 0 :-)
4
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63769 internautes nous ont dit merci ce mois-ci

Messages postés
4310
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
745
Ah j'oubliais l'affichage du bravo :

<script type="text/javascript">
   nb = 0;

   while (nb != 4){
      nb = window.prompt("3+1 ?");
   }
   if (nb == 4){
      alert("Bravo !");
   }
</script>


Je mets le alert dans un if pour éviter l'affichage du Bravo si l'utilisateur clique sur "Annuler".
Messages postés
4310
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
745
Attention au titre de ton problème : ici on parle d'une boucle JAVASCRIPT et non pas HTML (le HTML est un langage statique, sans variables ni structures telles que les boucles)
Messages postés
7
Date d'inscription
dimanche 16 janvier 2011
Statut
Membre
Dernière intervention
28 octobre 2011

salut, ca marche, merci beaucoup !
Messages postés
4310
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
745
Évidemment que ça marche :-)
Revois quand même un coup les bases des boucles en for et en while :-)
Messages postés
7
Date d'inscription
dimanche 16 janvier 2011
Statut
Membre
Dernière intervention
28 octobre 2011

ouep je commence, par contre comment faire pour que quand l'utilisateur mette 4, ca lui dise bravo ? c'est avec la fonction if ? je ne sais pas ou la placer.

J'ai essayer : if (nb==4) {
alert("bravo")
}

mais sans résultat
Messages postés
7
Date d'inscription
dimanche 16 janvier 2011
Statut
Membre
Dernière intervention
28 octobre 2011

ok bas écoute je te remercie pour l'aide !
Messages postés
4310
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
745
La solution que j'ai mise pour le "Bravo" fonctionne-t-elle ?
Messages postés
7
Date d'inscription
dimanche 16 janvier 2011
Statut
Membre
Dernière intervention
28 octobre 2011

oui !
Messages postés
4310
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
745
Nickel bonne change pour la suite ; on sera toujours là ^^