FormData: FormData() Konstruktor
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Der FormData()
Konstruktor erstellt ein neues FormData
Objekt.
Syntax
new FormData()
new FormData(form)
new FormData(form, submitter)
Parameter
form
Optional-
Ein HTML
<form>
Element – wenn angegeben, wird dasFormData
Objekt mit den aktuellen Schlüsseln/Werten desform
basierend auf dem Namen der Elemente für die Schlüssel und ihren übermittelten Werten für die Werte gefüllt. Es wird auch Dateieingaben kodieren. Einformdata
Ereignis wird auf dem Formular ausgelöst, wenn dasFormData
Objekt erstellt wird, damit das Formular die FormData bei Bedarf ändern kann. submitter
Optional-
Ein Submit-Button, der ein Mitglied des
form
ist. Wenn dersubmitter
einname
Attribut hat oder ein<input type="image">
ist, werden seine Daten in das `FormData` Objekt einbezogen (z.B.btnName=btnValue
).
Ausnahmen
TypeError
-
Wird ausgelöst, wenn der angegebene
submitter
kein Submit-Button ist. NotFoundError
DOMException
-
Wird ausgelöst, wenn der angegebene
submitter
kein Mitglied desform
ist. Dersubmitter
muss entweder ein Nachfahre des Formularelements sein oder einform
Attribut haben, das auf das Formular verweist.
Beispiele
Erstellen eines leeren FormData
Vorbefüllen aus einem HTML-Formular-Element
Sie können die optionalen Argumente form
und submitter
angeben, wenn Sie das FormData
Objekt erstellen, um es mit Werten aus dem angegebenen Formular vorzufüllen.
Hinweis: Nur erfolgreiche Formularsteuerungen sind in einem FormData Objekt enthalten, d.h. solche mit einem Namen und nicht in einem deaktivierten Zustand.
HTML
<form id="form">
<input type="text" name="text1" value="foo" />
<input type="text" name="text2" value="bar" />
<input type="text" name="text2" value="baz" />
<input type="checkbox" name="check" checked disabled />
<button name="intent" value="save">Save</button>
<button name="intent" value="saveAsCopy">Save As Copy</button>
</form>
<output id="output"></output>
JavaScript
const form = document.getElementById("form");
const submitter = document.querySelector("button[value=save]");
const formData = new FormData(form, submitter);
const output = document.getElementById("output");
for (const [key, value] of formData) {
output.textContent += `${key}: ${value}\n`;
}
Ergebnis
Zur Kürze ist das <form>
Element aus der Ansicht ausgeblendet.
Spezifikationen
Specification |
---|
XMLHttpRequest # dom-formdata |