On peut avoir besoin de poser des questions à l'utilisateur
d'un programme, (page), la boite de dialogue confirm s'utilise comme alert()
mais permet d'obtenir un réponse vrai ou faux, (true ou false), à une
question.
Supposons que vous vouliez poser la question,
"Voulez-vous continuer?".
Nous écrirons,
reponse = confirm("Voulez-vous continuer?")
Dans la variable logique reponse, vous aurez le résultat de
votre consultation, (true ou false)
Exécutez la forme ci-dessous, suivant que vous répondrez OK
ou Annuler vous lirez dans la boite alert le résultat true ou false. On
emploierai normalement cette valeur reponse pour prendre une décision dans la
suite du programme.
Cette boite sert à saisir une valeur écrite par le
consultant de la page, (nombre, texte). Elle n'est pas appropriée pour les mots
de passe car elle laisse le contenu en clair.
entre les parenthèses de l'instruction vous trouvez le
message à afficher et une valeur par défaut de la variable.
Exemple,
reponse = prompt("Entrez un pseudo",
"Visiteur")
Après avoir rempli le champ de saisie de la
boite prompt, si vous pressez sur OK la valeur que vous avez entré se
retrouvera dans reponse, si vous choisissez annuler reponse aura comme contenu
la valeur
null.
Exercice, faites les opérations ci-dessus.
La valeur par défaut, ici "Visiteur",
s"affiche à l'ouverture de la boite. Si vous ne voulez pas de valeur par
défaut vous pouvez l'omettre.
reponse = prompt("Entrez un pseudo")
mais cette syntaxe vous affiche undefined à l'ouverture de
la boite.
Exercice, supprimer la valeur par défaut dans la forme
ci-dessus Corrigé.
Si la valeur undefined vous déplais, mettez un champ vide
comme condition de défaut, ("").
reponse = prompt("Entrez un pseudo", "")
Exercice, mettre en valeur par défaut dans la forme
ci-dessus un champ vide Corrigé.
Dans le cours d'un script, il faudrait tester la valeur de
reponse pour savoir si c'est un pseudo valide, (existant ou au contraire non
existant, nombre de caractères minimum, non égal à null, etc...).
Dans l'exemple précédent, nous attendions
une variable de type texte, si nous voulons une variable numérique, il faut
prendre quelques précautions. Dans la forme ci-dessous, on demande à
l'utilisateur de rentrer un nombre, et pour d'obscures raisons, nous voulons
additionner la valeur 2 à ce nombre avant de nous en servir. Si vous exécutez
la forme ci dessous, vous verrez que la valeur passée dans reponse est de type
texte et que javascript effectue une concaténation au lieu d'une addition, par
exemple 22 au lieu de 4. Le remède sera le même que dans la
leçon précédente. Corrigé.