1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
---
title: window.prompt
slug: Web/API/Window/prompt
tags:
- API
- DOM
- Méthode
- Reference
- Window
translation_of: Web/API/Window/prompt
---
<div>{{ApiRef("Window")}}</div>
<p>La méthode <code>Window.prompt()</code> affiche une boîte de dialogue, éventuellement avec un message, qui invite l'utilisateur à saisir un texte.</p>
<h2 id="Syntaxe">Syntaxe</h2>
<pre class="syntaxbox"><em>résultat</em> = window.prompt(<em>message</em>, <em>défaut</em>);
</pre>
<h3 id="Paramètres">Paramètres</h3>
<dl>
<dt><code>message</code> {{optional_inline}}</dt>
<dd>Une chaîne de caractères qui sera affichée pour l'utilisateur. Cet argument peut ne pas être utilisé s'il n'y a rien à afficher dans la fenêtre.</dd>
<dt><code>default</code> {{optional_inline}}</dt>
<dd>Une chaîne de caractères contenant la valeur par défaut affichée pour la saisie. Pour Internet Explorer 7 et 8, si cet argument n'est pas fourni, ce sera la chaîne de caractères <code>"undefined"</code> qui sera la valeur par défaut.</dd>
</dl>
<h3 id="Valeur_de_retour">Valeur de retour</h3>
<p>La chaîne de caractères qui a été saisie par l'utilisateur ou <code>null</code>.</p>
<h2 id="Exemples">Exemples</h2>
<pre class="brush: js">let signe = prompt("Quel est votre signe astrologique ?");
if (signe.toLowerCase() == "verseau") {
console.log("Oh ? moi aussi je suis verseau :)");
}
// Différentes façons d'utiliser prompt
signe = window.prompt(); // ouvre une fenêtre de saisie sans texte
signe = prompt(); // ouvre une fenêtre de saisie sans texte
// ouvre une fenêtre avec le texte "Quelle est la réponse ?"
signe = window.prompt('Quelle est la réponse ?');
// ouvre une fenêtre avec le texte "Quelle est la réponse ?"
// avec la valeur "42" comme réponse par défaut
signe = window.prompt('Quelle est la réponse ?', '42');</pre>
<p>Lorsque l'utilisateur clique sur le bouton OK, le texte saisi dans le champ est renvoyé par la fonction. Si l'utilisateur clique sur OK sans avoir saisi de texte, c'est la chaîne vide qui est renvoyée. Si l'utilisateur clique sur le bouton "Annuler", la fonction renvoie <code>null</code>.</p>
<h2 id="Notes">Notes</h2>
<p>Une boîte de dialogue contient un texte sur une ligne, un bouton "Annuler" ainsi qu'un bouton "OK". Elle permet de renvoyer le texte (éventuellement vide) saisi par l'utilisateur dans le champ de saisie.</p>
<p>The following text is shared between this article, <code>DOM:window.confirm</code> and <code>DOM:window.alert</code>. Les boîtes de dialogue sont des fenêtres modales : elles empêchent l'utilisateur d'accéder au reste de l'interface du programme tant que la fenêtre n'est pas fermée. Pour ces raisons, mieux vaut ne pas abuser des fonctions qui créent de telles boîtes de dialogue et autres fenêtres modales.</p>
<p>On notera que le résultat de la fonction est une chaîne de caractères. Cela signifie qu'il faut parfois convertir la valeur founie par l'utilisateur. Si, par exemple, on souhaite que la réponse soit un nombre, il faudra la convertir (avec le constructeur {{jsxref("Number")}} éventuellement).</p>
<pre class="brush: js">const aNumber = Number(window.prompt("Veuillez saisir un nombre.", ""));</pre>
<h2 id="Spécifications">Spécifications</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Spécification</th>
<th scope="col">État</th>
<th scope="col">Commentaires</th>
</tr>
<tr>
<td>{{SpecName('HTML WHATWG', 'timers-and-user-prompts.html#dom-prompt', 'prompt()')}}</td>
<td>{{Spec2('HTML WHATWG')}}</td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
<p>{{Compat("api.Window.prompt")}}</p>
<h2 id="Voir_aussi">Voir aussi</h2>
<ul>
<li>{{domxref("window.alert", "alert")}}</li>
<li>{{domxref("window.confirm", "confirm")}}</li>
</ul>
|