Julius: <form action=""> vs. <form action="$_SERVER['PHP_SELF']">

Beitrag lesen

Hallo Andreas,

Falls du HTML meinst: Nur ein weggelassenes action-Attribut ist valide, ein leeres hingegen nicht.

Wer hat sich sowas ausgedacht? Warum darf der Default-Wert nicht auch explizit angegeben werden?

Das weiß ich auch nicht, aber es scheint so, als ob der Unterschied eher akademischer Natur ist – Browser scheinen ja dennoch leere Attribute so zu interpretieren als wären sie nicht vorhanden. Nur valide ist es dann halt nicht.

Anders herum: Warum sollte ich den Default-Wert explizit angeben wollen? <input name="vname"> ist ja auch platzsparender gegenüber <input type="text" name="vname"> – wenn das jemand weiß, schreibt er nicht mehr den Default-Wert hinein – und <form action="form.php" action=""> macht keinen Sinn, ich kann ja einfach das action-Attribut löschen. Allerdings ist auch <input type=""> nicht erlaubt, aber auf die Idee, das zu benutzen, kommt man wohl nicht so schnell wie beim action-Attribut...

Muss man einfach wissen – mich hat die Fehler-Meldung „Error: Bad value for attribute action on element form: Must be non-empty.“ des Validators immer verwirrt und ich habe dann ein # eingefügt, weil ich nicht gerafft habe, dass der Wert zwar „non-empty“ sein muss, aber dass man das Attribut einfach weglassen darf, war mir nicht klar. Ich habe mal eine bessere Fehlermeldung vorgeschlagen, die erwähnt, dass man das Attribut weglassen kann, um den Default-Wert zu bekommen.

Gruß
Julius

--
„Unterschätze niemals die Datenübertragungsrate eines mit Bändern vollgeladenen Kombis, der über die Autobahn rast.“
Andrew S. Tanenbaum (Quelle)