La méthode Window.prompt() affiche une boîte de dialogue, éventuellement avec un message, qui invite l'utilisateur à saisir un texte.

Syntaxe

résultat = window.prompt(message, défaut);

Paramètres

message Facultatif
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.
default Facultatif
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 "undefined" qui sera la valeur par défaut.

Valeur de retour

La chaîne de caractères qui a été saisie par l'utilisateur ou null.

Exemples

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');

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 null.

Notes

Une boîte de dialogue contient un texte sur une ligne, un bouton "Annuler" ainsi qu'un qu'un bouton "OK". Elle permet de renvoyer le texte (éventuellement vide) saisi par l'utilisateur dans le champ de saisie.

The following text is shared between this article, DOM:window.confirm and DOM:window.alertLes 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.

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 Number éventuellement).

const aNumber = Number(window.prompt("Veuillez saisir un nombre.", ""));

Spécifications

Spécification État Commentaires
HTML Living Standard
La définition de 'prompt()' dans cette spécification.
Standard évolutif  

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung Internet
Support simpleChrome Support complet Oui
Notes
Support complet Oui
Notes
Notes Starting with Chrome 46.0 this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.
Edge ? Firefox Support complet OuiIE Support complet Oui
Notes
Support complet Oui
Notes
Notes This function has no effect in the Modern UI/Metro version of Internet Explorer for Windows 8. It does not display a prompt to the user, and always returns undefined. It is not clear whether this is a bug or intended behavior. Desktop versions of IE do implement this function.
Opera ? Safari ? WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile ? Firefox Android Support complet OuiOpera Android ? Safari iOS ? Samsung Internet Android ?

Légende

Support complet  
Support complet
Compatibilité inconnue  
Compatibilité inconnue
Voir les notes d'implémentation.
Voir les notes d'implémentation.

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
Contributeurs à cette page : SphinxKnight, SUN-D-IA-L, fscholz, teoli, icefire, khalid32, Mgjbot, BenoitL
Dernière mise à jour par : SphinxKnight,