HTMLDialogElement: returnValue-Eigenschaft

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Die returnValue-Eigenschaft des HTMLDialogElement-Interfaces ist ein String, der den Rückgabewert für ein <dialog>-Element repräsentiert, wenn es geschlossen wird. Sie können den Wert direkt festlegen (dialog.returnValue = "result") oder den Wert als String-Argument an close() oder requestClose() übergeben.

Wert

Ein String, der den returnValue des Dialogs repräsentiert. Standardmäßig ein leerer String ("").

Beispiele

Überprüfung des Rückgabewerts

Das folgende Beispiel zeigt eine Schaltfläche, um einen Dialog zu öffnen. Der Dialog fragt den Benutzer, ob er einen Nutzungsbedingungen-Prompt akzeptieren möchte.

Der Dialog enthält die Schaltflächen "Akzeptieren" oder "Ablehnen": Wenn der Benutzer auf eine der Schaltflächen klickt, schließt der Klick-Handler der Schaltfläche den Dialog und übergibt seine Wahl an die close()-Funktion. Dies weist der Wahl die returnValue-Eigenschaft des Dialogs zu.

Im close-Ereignishandler des Dialogs aktualisiert das Beispiel den Status-Text der Hauptseite, um den returnValue aufzuzeichnen.

Wenn der Benutzer den Dialog schließt, ohne auf eine Schaltfläche zu klicken (z. B. durch Drücken der Esc-Taste), wird der Rückgabewert nicht gesetzt.

HTML

html
<dialog id="termsDialog">
  <p>Do you agree to the Terms of Service (link)?</p>
  <button id="declineButton" value="declined">Decline</button>
  <button id="acceptButton" value="accepted">Accept</button>
</dialog>
<p>
  <button id="openDialogButton">Review ToS</button>
</p>
<p id="statusText"></p>

JavaScript

js
const dialog = document.getElementById("termsDialog");
const statusText = document.getElementById("statusText");

const openDialogButton = document.getElementById("openDialogButton");
const declineButton = document.getElementById("declineButton");
const acceptButton = document.getElementById("acceptButton");

openDialogButton.addEventListener("click", () => {
  dialog.showModal();
});

declineButton.addEventListener("click", closeDialog);
acceptButton.addEventListener("click", closeDialog);

function closeDialog(event) {
  const button = event.target;
  dialog.close(button.value);
}

dialog.addEventListener("close", () => {
  statusText.innerText = dialog.returnValue
    ? `Return value: ${dialog.returnValue}`
    : "There was no return value";
});

Ergebnis

Probieren Sie aus, "Nutzungsbedingungen überprüfen" zu klicken, dann die Schaltflächen "Akzeptieren" oder "Ablehnen" im Dialog auszuwählen oder den Dialog durch Drücken der Esc-Taste zu schließen und beobachten Sie die unterschiedlichen Statusaktualisierungen.

Spezifikationen

Specification
HTML
# dom-dialog-returnvalue-dev

Browser-Kompatibilität

Siehe auch

  • Das HTML-Element, das dieses Interface implementiert: <dialog>.