Nouveau sur le forum ? Voici votre case départ pour bien débuter.

Liens contextuels :

Auteur
SolykZ
# 09 May 2008 - 13:23:12
Citer
268 Posts
Bonjour,


j'ai besoin, pour un projet, de me mettre un peu au Javascript. J'ai rarement touché plus de 5 minutes à un script et me voilà à devoir en faire un moi-même. Je rencontre cependant un problème. Mais tout d'abord je vous explique ce que je veux faire :

Le visiteur arrive sur la page d'index. Il y a un bout de texte, suivi d'un lien. Le lien déclenche une fonction JS (Dialogue1) lui demandant via un prompt son identifiant. Tant qu'il n'a pas inséré son identifiant, le prompt revient.

Pour arriver à cela, j'ai juste demandé dans le code d'invoquer à nouveau la fonction Dialogue1, dans le cas où la variable contenant l'identifiant est vide :

function Dialogue1() {
var id = prompt('Bonjour, citoyen.\nVeuillez décliner votre ID.');

if (id) {
var raisonvenue = prompt("Veuillez expliquer les raisons de votre venue :\n\n 1. Je suis un félon qui cherche à conquérir un secteur ;\n 2. Je suis intéressé par ce secteur ;\n 3. Je souhaite faire un léger passage histoire de voir ce qu'il se passe à l'Asile ;\n 4. Je suis un félon qui cherche à mettre en péril le bonheur du secteur.\n", "Indiquez dans ce champ le numéro de la réponse que vous souhaitez donner");
}
else {
Dialogue1();
}


(je sais néanmoins que je devrai modifier ce bout de code afin de m'assurer que l'identifiant du visiteur est correct, je verrai ça sous peu.)

Maintenant, en fonction de son choix dans le prompt "raisonvenue" (la raison de sa venue, donc), il doit se passer quelque chose :

		if ((raisonvenue == 1) || (raisonvenue == 4)) {
alert("L'Ordinateur a bien pris en compte votre demande de remplacement.\nVotre nouveau clone sera prêt dans peu de temps.\n\nSouriez, citoyen. lol ");
} else if ((raisonvenue == 2) || (raisonvenue == 3)) {
document.location.href = "index.php?page=raisonok";
} else //si "raisonvenue" ne vaut pas un nombre entre 1 et 4
//retour au prompt de "raisonvenue"
}


Et c'est très exactement ici que je me noie : comment dire au script que si la variable "raisonvenue" vaut autre chose que 1, 2, 3 ou 4, il doit ré-afficher le prompt de raisonvenue ?

J'espérais pouvoir trouver ça tout seul, mais difficile de savoir quoi googler. J'imagine qu'il s'agirait d'une boucle ? Mais comment la mettre en place ? ohwell


Merci bien pour votre aide. smile (et euh...ne faites pas attention au contenu des prompts, s'il vous plait... lol )

http://www.solykz.moi.fr 
^
AurelienB
# 09 May 2008 - 20:41:10
Citer
2 Posts
Coucou, moi je partirais sur quelque chose comme ça:



var raisonvenue = 0;
while(raisonvenue < 1 || raisonvenue > 4) {
var raisonvenue = prompt("Veuillez ...")

if ((raisonvenue == 1) || (raisonvenue == 4)) {
alert("L'Ordinateur a bien pris en compte votre demande de remplacement.\nVotre nouveau clone sera prêt dans peu de temps.\n\nSouriez, citoyen. ");
} else if ((raisonvenue == 2) || (raisonvenue == 3)) {
document.location.href = "index.php?page=raisonok";
} else //si "raisonvenue" ne vaut pas un nombre entre 1 et 4
//retour au prompt de "raisonvenue"
}

}


ce n'est surement pas totalement exact, je ne fais plus du javascript tout les jours et je te réponds vite avant de partir manger mais je pense que le principe est bon.
Modifié par AurelienB (09 May 2008 - 20:41)

^
kzone
# 09 May 2008 - 23:19:18
Citer
751 Posts
bonjour,

en général lorque qu'il y a trop d'imbrigation de if/else et lorsque c'est possible (cela me semble le cas ici) j'utilise un switch(choix)
du genre :

function traiter(choix) {
switch(choix){

case 1 : faireCeci();
break;
case 2 : fairecela();
break;
...etc

default pardefault();
}//fin switch
} //fin traterchoix


++
Modifié par kzone (09 May 2008 - 23:19)

.... de retour à l'école ... Avec Martine ?!!

http://Developpez-en-SVG.homelinux.org 
^

référencesLes références web : openweb.eu.org - opquast.com - webmaster-hub.com - webrankinfo.com - salemioche.net - web-pour-tous.org - webonorme.org

Nos partenaires : Editions Eyrolles - Location vacances France - Location vacances Europe

Nikozen : Hébergement - Réalisation : Alsacreations.fr

Powered by Phedio v3.8 beta © dew
Contacter l'administrateur - 7.8 ms - Charte