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.
Hinweis: Dieses Feature ist verfügbar in Web Workers.
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
mithilfe der Name-Eigenschaft jedes Elements für die Schlüssel und deren übermittelten Wert für die Werte befüllt. Es wird auch Datei-Input-Inhalte kodieren. Einformdata
-Ereignis wird ausgelöst, wenn dasFormData
-Objekt erstellt wird, was der Form ermöglicht, die Formulardaten bei Bedarf zu modifizieren. 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 eingeschlossen imFormData
-Objekt (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 Nachkomme des Formularelements sein oder einform
-Attribut haben, das auf das Formular verweist.
Beispiele
Erstellen eines leeren FormData
Vorbefüllen aus einem HTML-Formularelement
Sie können die optionalen form
- und submitter
-Argumente angeben, wenn Sie das FormData
-Objekt erstellen, um es mit Werten aus dem angegebenen Formular vorzubefüllen.
Hinweis: Nur erfolgreiche Formularelemente werden in ein FormData-Objekt eingeschlossen, d.h. solche mit einem Namen und die nicht im deaktivierten Zustand sind.
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 besseren Übersicht ist das <form>
-Element ausgeblendet.
Spezifikationen
Specification |
---|
XMLHttpRequest Standard # dom-formdata |
Browser-Kompatibilität
BCD tables only load in the browser