⌘I

Fehler "Unable to submit form".

Updated August 28, 2024 ·
errors

Bist du auf einen Fehlerbildschirm mit dem Titel “Unable to submit form” gestoßen? Er würde so aussehen:

Screen_Shot_2020-07-12_at_10.38.00_AM.png

Falls ja, sollte dir dieser Artikel helfen, das Problem zu lösen.

Was ist passiert?

Wenn du diesen Bildschirm siehst, bedeutet das zwei Dinge:

  1. Deiner Anfrage fehlt der HTTP-”referer”-Header mit der Webseiten-URL, von der das Formular abgesendet wurde.
  2. Das Formular wurde mit einem action-Attribut eingerichtet, das auf eine Formspree-URL verweist, die eine E-Mail-Adresse enthält. Zum Beispiel: https://formspree.io/email@domain.com.

Wenn die action-URL des Formulars zur Identifizierung nur eine E-Mail enthält, benötigt Formspree zusätzliche Informationen aus dem “referer”-Header, um das Formular zu identifizieren. Diese E-Mail-basierten URLs waren die ursprüngliche Art, Formspree zu integrieren. Heute verwenden wir eine Formular-ID in der URL, sodass wir uns nicht mehr auf den “referer”-Header verlassen.

Vorgeschlagene Lösung

Wenn du als Formularbesitzer ein action-Attribut wie https://formspree.io/email@domain.com verwendest, empfehlen wir folgende Schritte:

  1. Erstelle ein kostenloses Konto unter https://formspree.io/register.
  2. Erstelle ein neues Formular. Du erhältst eine action-URL, die eine eindeutige Formular-ID enthält.
  3. Verwende die neue URL anstelle deiner bisherigen E-Mail-basierten URL.

Dadurch kann dein Formular in allen Browsern und auf allen Seiten deiner Website funktionieren. Außerdem musst du deine E-Mail nicht mehr im Formular-HTML offenlegen, ein potenzielles Sicherheitsproblem.

Wenn du deine bestehenden Übermittlungen auf dein neues Formular übertragen möchtest, stelle bitte eine Anfrage an unser Support-Team, und wir kümmern uns darum.

Legacy-Lösung

Wenn du als Formularbesitzer das action-Attribut deines Formulars nicht ändern kannst, versuche die folgenden Schritte zur Fehlerbehebung. Beachte, dass dein Formular möglicherweise nicht in allen Browsern lädt, wenn du deine URL nicht wie in der vorgeschlagenen Lösung oben beschrieben änderst. (siehe unten)

  1. Du kannst auf diesen Fehler stoßen, wenn du lokal testest, indem du eine HTML-Datei direkt in deinem Browser öffnest. In diesem Fall beginnt ihre URL mit file:/// statt mit http:// oder https://. Das funktioniert nicht, weil Browser diese Seiten nicht als normale Webressourcen behandeln. Konkret senden sie den “referer”-Header nicht. Versuche, einen lokalen Webserver zu betreiben, um deine Formularseite zu hosten. Wenn du Mac oder Linux verwendest, kannst du einen Webserver starten, indem du den folgenden Befehl in deinem Terminal-Programm eingibst:

    python -m SimpleHTTPServer 8000

    Rufe dann http://localhost:8000 in deinem Browser auf.

    Wenn du Windows verwendest, versuche, einen der folgenden Webserver zu installieren: Web server for Chrome, thttpd oder Quickshare.

  2. Wenn du dein Formular so konfiguriert hast, dass es an eine URL mit dem Protokoll http:// übermittelt, deine Formularseite aber über das Protokoll https:// aufgerufen wird, wird der “referer”-Header nicht gesendet. Du musst deine action-URL aktualisieren. In diesem Fall empfehlen wir die vorgeschlagene Lösung oben.

  3. Wenn du den Brave-Browser verwendest, beachte bitte, dass Brave den “referer”-Header blockieren kann. Dieses Problem wurde beim Brave-Team gemeldet. Wir würden uns über deine Hilfe freuen, das Brave-Team darauf aufmerksam zu machen, indem du es mit einem Upvote unterstützt.