formdata
event fires after the entry list representing the form's data is constructed. This happens when the form is submitted, but can also be triggered by the invocation of a
FormData()
构造函数。
| 冒泡 | No |
|---|---|
| 可取消 | No |
| 接口 |
FormDataEvent
|
| 事件处理程序特性 |
GlobalEventHandlers.onformdata
|
// grab reference to form
const formElem = document.querySelector('form');
// submit handler
formElem.addEventListener('submit', (e) => {
// on form submission, prevent default
e.preventDefault();
// construct a FormData object, which fires the formdata event
new FormData(formElem);
});
// formdata handler to retrieve data
formElem.addEventListener('formdata', (e) => {
console.log('formdata fired');
// Get the form data from the event object
let data = e.formData;
for (var value of data.values()) {
console.log(value);
}
// submit the data via XHR
var request = new XMLHttpRequest();
request.open("POST", "/formHandler");
request.send(data);
});
onformdata
version would look like this:
formElem.onformdata = (e) => {
console.log('formdata fired');
// Get the form data from the event object
let data = e.formData;
for (var value of data.values()) {
console.log(value);
}
// submit the data via XHR
var request = new XMLHttpRequest();
request.open("POST", "/formHandler");
request.send(data);
};
| 规范 | 状态 | 注释 |
|---|---|---|
|
HTML 实时标准
The definition of 'formdata' in that specification. |
未知 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
formdata
event
|
Chrome 77 | Edge 79 | Firefox 72 | IE 不支持 No | Opera 64 | Safari 不支持 No | WebView Android 77 | Chrome Android 77 | Firefox Android 不支持 No | Opera Android 55 | Safari iOS 不支持 No | Samsung Internet Android 12.0 |
完整支持
不支持
<form>
element
FormDataEvent