HTMLFormElement: событие formdata
Базовая Широко доступная
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Событие formdata срабатывает после того, как список элементов, представляющих данные формы, будет построен. Это происходит при отправке формы, но также может быть вызвано вызовом конструктора FormData().
Это событие не отменяется и не распространяется.
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или задайте свойство обработчика событий.
addEventListener("formdata", (event) => {});
onformdata = (event) => {};
Тип события
Объект FormDataEvent. Наследует от Event.
Свойства события
Наследует свойства от своего родительского интерфейса, Event.
FormDataEvent.formData-
Содержит объект
FormData, представляющий данные, содержащиеся в форме, в момент срабатывания события.
Примеры
// grab reference to form
const formElem = document.querySelector("form");
// submit handler
formElem.addEventListener("submit", (e) => {
// on form submission, prevent default
e.preventDefault();
console.log(formElem.querySelector('input[name="field1"]')); // FOO
console.log(formElem.querySelector('input[name="field2"]')); // BAR
// construct a FormData object, which fires the formdata event
const formData = new FormData(formElem);
// formdata gets modified by the formdata event
console.log(formData.get("field1")); // foo
console.log(formData.get("field2")); // bar
});
// formdata handler to retrieve data
formElem.addEventListener("formdata", (e) => {
console.log("formdata fired");
// modifies the form data
const formData = e.formData;
// formdata gets modified by the formdata event
formData.set("field1", formData.get("field1").toLowerCase());
formData.set("field2", formData.get("field2").toLowerCase());
});
Версия onformdata будет выглядеть следующим образом:
formElem.onformdata = (e) => {
console.log("formdata fired");
// modifies the form data
const formData = e.formData;
formData.set("field1", formData.get("field1").toLowerCase());
formData.set("field2", formData.get("field2").toLowerCase());
};
Спецификации
| Спецификация |
|---|
| HTML # event-formdata |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
formdata_event |
77 | 79 | 72 | 64 | 15 | 77 | 79 | 55 | 15 | 12.0 | 77 |
См. также
- Элемент HTML
<form> FormDataEvent
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/formdata_event