FormData: FormData()-Konstruktor - Web-APIs | MDN
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Der FormData()-Konstruktor erstellt ein neues FormData-Objekt.
Syntax
js
new FormData()
new FormData(form)
new FormData(form, submitter)
Parameter
formOptional-
Ein HTML-
<form>-Element — wenn angegeben, wird dasFormData-Objekt mit den aktuellen Schlüsseln/Werten desform-Elements basierend auf den Namen-Attributen der Elemente als Schlüssel und ihren übermittelten Werten als Werte gefüllt. Es werden auch Inhalte von Datei-Inputs kodiert. Einformdata-Ereignis wird auf dem Formular ausgelöst, wenn dasFormData-Objekt erstellt wird, sodass das Formular die Formulardaten bei Bedarf ändern kann. submitterOptional-
Ein Submit-Button, der Mitglied des
formist. Wenn dersubmittereinname-Attribut hat oder ein<input type="image">ist, werden dessen Daten einbezogen in dasFormData-Objekt (z.B.btnName=btnValue).
Ausnahmen
TypeError-
Wird ausgelöst, wenn der angegebene
submitterkein Submit-Button ist. NotFoundErrorDOMException-
Wird ausgelöst, wenn der angegebene
submitterkein Mitglied desformist. Dersubmittermuss entweder ein Nachfahre des Formularelements sein oder einform-Attribut haben, das auf das Formular verweist.
Beispiele
Erstellen eines leeren FormData
Die folgende Zeile erstellt ein leeres FormData-Objekt:
js
const formData = new FormData();
Sie könnten ein Schlüssel/Wert-Paar hinzufügen, indem Sie append() verwenden:
js
formData.append("username", "Chris");
Vorbefüllen von 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 vorzufüllen.
Hinweis: Nur erfolgreiche Formularsteuerungen werden in ein FormData-Objekt aufgenommen, d.h. solche mit einem Namen und die nicht im deaktivierten Zustand sind.
HTML
html
<form id="form">
<input type="text" name="text1" value="foo" />
<input type="text" name="text2" value="bar" />
<input type="text" name="text3" 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>
form {
display: none;
}
output {
display: block;
white-space: pre-wrap;
}
JavaScript
js
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
Aus Kürzungsgründen ist das <form>-Element nicht sichtbar.
Spezifikationen
| Spezifikation |
|---|
| XMLHttpRequest # dom-formdata |
Browser-Kompatibilität
Siehe auch
Help improve MDN
Erfahren Sie, wie Sie beitragen können Diese Seite wurde automatisch aus dem Englischen übersetzt.