HTML Website - Kontaktformular zurücksetzen nach Abschicken?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Hi Didi43150,

es ist nicht schlimm wenn jemand nicht JavaScript kann. Es wäre vielleicht ein guter Anstoß es zu lernen, weil man damit viel machen kann. Das Problem in deinem oberen Code birgt darin das der EventListener der auf submit-Events reagiert, vor dem Absenden der Daten. Das bedeutet das die Daten bevor sie gesendet werden können, gelöscht werden. Daher solltest du das ganze mit diesem Code umgehen:

const form = document.querySelector("form");
form.addEventListener("submit", async (e) => {
    e.preventDefault();
    const formData = new FormData(form);
    try {
        const response = await fetch("ziel.php", {
            method: "POST",
            body: formData
        });
        if (response.ok) {
            alert("Daten erfolgreich gesendet!");
            form.reset(); // Jetzt ist es sicher
        } else {
            alert("Fehler beim Absenden.");
        }
    } catch (error) {
        alert("Verbindungsfehler: " + error.message);
    }
});

Indem oben geschriebenen Beispiel, wird das Senden über die native Methode von HTML unterdrückt und dann selbst die Daten via fetch-Methode gesendet. Wenn das Formular dann erfolgreich gesendet wurde, werden die Felder zurück gesetzt und ein alert ausgegeben.

Viel Erfolg

Woher ich das weiß:Berufserfahrung – Ich bin gelernter Mediengestalter Digital und Print(IHK)

Destranix  30.05.2025, 09:19

So macht das Problem Sinn. Dachte er würde sich darpber beschweren, dass das Zurücksetzen nicht klappt ;-)

Es gibt eine Reset-Methode für Form-Elemente:

https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/reset

Die sollte so eigentlich auch ausgeführt werden, wenn nicht müsstest du weiter debuggen um herauszufinden, warum nicht.