00 Stimmen

HTML5 Validator: Bad value "" for attribute "action" on element "form": Must be non-empty

Frage von Compi | 17.02.2016 um 02:47

Ich habe meine Website auf HTML 5 umgestellt und bin gerade dabei, die Seite zu validieren.

Unter anderem gibt mir der HTML Validator den folgenden Fehler aus.

Bad value "" for attribute "action" on element "form": Must be non-empty

Wie kann ich das lösen? Anscheinend meckert er, weil ich das "action" einer Form freigelassen habe.

Das habe ich sogar bewusst so gemacht, dass er das Ergebnis zu der aktuellen Seite schickt, unabhängig davon, auf welcher Seite man sich gerade befindet.

<form action="" method="post">
  <input type="input" name="name">
  <input type="submit" name="submit" value="Senden">
</form>

Der Code funktioniert allerdings perfekt und der HTML 4 Validator hat auch nichts daran auszusetzen. Was mache ich falsch?

AntwortenPositivNegativDatumStimmen
1Beste Antwort1 Stimme

Du könntest einfach action="#" schreiben. Damit wäre das Attribut "action" nicht leer so dass der Fehler nicht mehr angezeigt wird und gleichzeitig wäre das Skript trotzdem immer noch unabhängig von der Seite, von dem es aufgerufen wurde.

Also zum Beispiel so:

<form action="#" method="post" id="myform">
  <input type="input" name="name">
  <input type="submit" name="submit" value="Senden">
</form>

Falls du das # nur im HTML Code haben möchtest, kannst du es notfalls auch wieder mit JavaScript entfernen:

document.getElementById("myform").setAttribute("action", ""); 

Damit es auch die richtige Form erwischt, habe ich deiner Form hier die ID "myform" gegeben, um darauf vernünftig zugreifen zu können.
18.02.2016 um 18:52

AntwortenPositiv Negativ
00 Stimmen

Du könntest auch PHP benutzen, um immer die aktuelle Seite unter "action" einzufügen.

Also zum Beispiel so:

<form action="<?php 

echo htmlspecialchars($_SERVER["PHP_SELF"]);

?>" method="post" id="myform">
  <input type="input" name="name">
  <input type="submit" name="submit" value="Senden">
</form>

Wenn es nicht dynamisch sein soll und die Empfängerseite der Form kennst, wäre es natürlich am einfachsten, einfach die Empfängerseite unter "action" einzutragen um den Fehler loszuwerden.
22.02.2016 um 13:13

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

HTML-Formular mit Daten vorbelegen

Tutorial | 0 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.