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