HTMLDialogElement : méthode close()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since mars 2022.
La méthode close()
de l'interface HTMLDialogElement
ferme l'élément <dialog>
.
Une chaîne de caractères optionnelle peut être passée en argument, ce qui met à jour la propriété returnValue
de la boîte de dialogue.
Syntaxe
close()
close(returnValue)
Paramètres
returnValue
Facultatif-
Chaîne de caractères représentant la nouvelle valeur de
HTMLDialogElement.returnValue
de la boîte de dialogue.
Valeur de retour
Aucune (undefined
).
Exemples
L'exemple suivant montre un simple bouton qui, lorsqu'il est cliqué, ouvre un élément <dialog>
contenant un formulaire via la méthode showModal()
.
Depuis cette boîte de dialogue, vous pouvez cliquer sur le bouton X pour la fermer (via la méthode HTMLDialogElement.close()
), ou soumettre le formulaire avec le bouton de validation.
<!-- Boîte de dialogue simple contenant un formulaire -->
<dialog id="favDialog">
<form method="dialog">
<button id="close" aria-label="fermer" formnovalidate>X</button>
<section>
<p>
<label for="favAnimal">Animal préféré :</label>
<select id="favAnimal" name="favAnimal">
<option></option>
<option>Crevette de saumure</option>
<option>Panda roux</option>
<option>Singe-araignée</option>
</select>
</p>
</section>
<menu>
<button type="reset">Réinitialiser</button>
<button type="submit">Valider</button>
</menu>
</form>
</dialog>
<menu>
<button id="updateDetails">Mettre à jour les informations</button>
</menu>
const updateButton = document.getElementById("updateDetails");
const closeButton = document.getElementById("close");
const dialog = document.getElementById("favDialog");
dialog.returnValue = "favAnimal";
function openCheck(dialog) {
if (dialog.open) {
console.log("Boîte de dialogue ouverte");
} else {
console.log("Boîte de dialogue fermée");
}
}
// Le bouton de mise à jour ouvre la boîte de dialogue modale
updateButton.addEventListener("click", () => {
dialog.showModal();
openCheck(dialog);
});
// Le bouton de fermeture du formulaire ferme la boîte de dialogue
closeButton.addEventListener("click", () => {
dialog.close("animalNonChoisi");
openCheck(dialog);
});
Si le bouton « X » avait été de type="submit"
, la boîte de dialogue se serait fermée sans nécessiter de JavaScript.
La soumission d'un formulaire ferme la balise <dialog>
dans laquelle il est imbriqué si la méthode du formulaire est method
, donc aucun bouton « close » n'est requis.
Résultat
Spécifications
Specification |
---|
HTML> # dom-dialog-close-dev> |
Compatibilité des navigateurs
Loading…
Voir aussi
- Élément HTML implémentant cette interface :