Start · Sprachen · JavaScript · Referenz · Window.prompt()

Window.prompt()

Methode

<code>window.prompt()</code> zeigt einen Dialog mit optionaler Nachricht an, in dem der Benutzer Text eingeben kann.

Kategorie: webapi

Signatur

prompt() / prompt(message) / prompt(message, defaultValue)

Beschreibung

window.prompt() weist den Browser an, einen Dialog mit einer optionalen Nachricht anzuzeigen, die den Benutzer zur Eingabe von Text auffordert, und zu warten, bis der Benutzer entweder den Text absendet oder den Dialog abbricht.

Unter bestimmten Bedingungen (z. B. wenn der Benutzer den Tab wechselt) kann es sein, dass der Browser keinen Dialog anzeigt oder nicht darauf wartet, dass der Benutzer Text absendet oder den Dialog abbricht.

Parameter

Name Typ Default Beschreibung
$message string — Ein Text-String, der dem Benutzer angezeigt wird. Kann weggelassen werden, wenn im Prompt-Fenster nichts angezeigt werden soll.
$defaultValue string — Ein String, der den Standardwert enthält, der im Texteingabefeld angezeigt wird.

Rückgabewert

Typ
string | null
Beschreibung
Ein String mit dem vom Benutzer eingegebenen Text oder null.

Beispiele

Prompt mit Nachricht und Standardwert verwenden

const signButton = document.querySelector("#signButton");
const log = document.querySelector("#log");

signButton.addEventListener("click", () => {
  let sign = prompt("What's your sign?");

  if (sign === null) {
    log.innerText = "OK, maybe next time.";
  } else if (sign.toLowerCase() === "") {
    log.innerText = "Don't be shy, enter your sign!";
  } else if (sign.toLowerCase() === "scorpio") {
    log.innerText = "Wow! I'm a Scorpio too!";
  } else {
    log.innerText = `${sign} is my favorite!`;
  }
});

Prompt-Nachrichten und Standardwerte

// open a blank prompt window
sign = prompt();
// open a blank prompt window
sign = window.prompt();
// open a prompt with the text "Are you feeling lucky"
sign = window.prompt("Are you feeling lucky");
// open a prompt with the text "Are you feeling lucky" and "sure" as the default value
sign = prompt("Are you feeling lucky", "sure");

Wert in Number umwandeln

const number = Number(window.prompt("Type a number", ""));

// Wichtig · Fallstricke

Dialogboxen sind modale Fenster — sie verhindern, dass der Benutzer auf den Rest der Programmoberfläche zugreifen kann, bis die Dialogbox geschlossen wird. Aus diesem Grund sollten Sie Funktionen, die eine Dialogbox oder ein modales Fenster erzeugen, nicht übermäßig verwenden. Alternativ kann ein <dialog>-Element für Bestätigungen verwendet werden.

Ein Prompt-Dialog enthält ein einzeiliges Textfeld, einen Cancel-Button und einen OK-Button und gibt den (möglicherweise leeren) Text zurück, den der Benutzer in das Textfeld eingegeben hat. Das Ergebnis ist ein String, was bedeutet, dass Sie den vom Benutzer angegebenen Wert manchmal umwandeln sollten. Wenn die Antwort beispielsweise eine Number sein soll, sollten Sie den Wert in Number umwandeln.