HTMLFormElement : événement formdata
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2021.
L'évènement formdata de l'interface HTMLFormElement se déclenche après que la liste des entrées représentant les données du formulaire a été construite. Cela se produit lors de la soumission du formulaire, mais peut aussi être déclenché par l'appel du constructeur FormData().
Cet évènement n'est pas annulable et ne se propage pas.
Syntaxe
Utilisez le nom de l'évènement dans des méthodes comme addEventListener() ou affectez une propriété gestionnaire d'évènement.
addEventListener("formdata", (event) => { })
onformdata = (event) => { }
Type d'évènement
Un objet FormDataEvent. Hérite de Event.
Propriétés de l'évènement
Hérite des propriétés de son interface parente, Event.
FormDataEvent.formData-
Contient l'objet
FormDatareprésentant les données présentes dans le formulaire au moment du déclenchement de l'évènement.
Exemples
// récupérer la référence du formulaire
const formElem = document.querySelector("form");
// gestionnaire de soumission
formElem.addEventListener("submit", (e) => {
// lors de la soumission du formulaire, empêcher l'action par défaut
e.preventDefault();
console.log(formElem.querySelector('input[name="field1"]')); // TOTO
console.log(formElem.querySelector('input[name="field2"]')); // TATA
// construire un objet FormData, ce qui déclenche l'évènement formdata
const formData = new FormData(formElem);
// l'objet FormData est modifié par l'évènement formdata
console.log(formData.get("field1")); // toto
console.log(formData.get("field2")); // tata
});
// gestionnaire formdata pour récupérer les données
formElem.addEventListener("formdata", (e) => {
console.log("évènement formdata déclenché");
// modifie les données du formulaire
const formData = e.formData;
// l'objet FormData est modifié par l'évènement formdata
formData.set("field1", formData.get("field1").toLowerCase());
formData.set("field2", formData.get("field2").toLowerCase());
});
La version onformdata ressemble à ceci :
formElem.onformdata = (e) => {
console.log("évènement formdata déclenché");
// modifie les données du formulaire
const formData = e.formData;
formData.set("field1", formData.get("field1").toLowerCase());
formData.set("field2", formData.get("field2").toLowerCase());
};
Spécifications
| Specification |
|---|
| HTML> # event-formdata> |
Compatibilité des navigateurs
Voir aussi
- L'élément HTML
<form> - L'interface
FormDataEvent