ChrisB: Parameter gehen bei onchange verloren

Beitrag lesen

Hi,

<form action=script.php?param=1&amp;param2=2&amp;param3=3 method=post>

geht. Dann sind die Parameter ikn $_REQUEST drin, aber ohne method=post nicht??

Manche Browser verwerfen bei method=GET einen ggf. bereits vorhandenen Querystring der als action angegebenen Zieladresse, und ersetzen ihn durch einen neuen, den sie aus den Formularinhalten zusammensetzen.

Wenn du „Defaultwerte“ bei Nutzung von GET übergeben willst, nutzen hidden-Formularfelder.

Ist das nicht seltsam?

Die Spezifikation ist diesbezüglich nicht ganz wasserdicht formuliert:
“get: With the HTTP "get" method, the form data set is appended to the URI specified by the action attribute (with a question-mark ("?") as separator) and this new URI is sent to the processing agent.”
http://www.w3.org/TR/html401/interact/forms.html#h-17.13.1

Einerseits sagt sie zwar, dass im action-Attribut ein URI steht, was einen Querystring erlaubt; andererseits spricht sie aber davon, dass die Formulardaten mit einem Fragezeichen als Trennzeichen an die neu zu bildende Adresse angehängt werden. Noch ein weiteres Fragezeichen anzufügen, wenn bereits ein Querystring und damit auch ein Fragezeichen vorhanden ist, wäre ungültig. Also bleibt dem Client entweder die Möglichkeit, den vorhandenen QS wegzuwerfen und durch einen komplett neuen zu ersetzen, oder den vorhandenen korrekt zu ergänzen. Ob letzteres von manchen Browsern gemacht wird, weiß ich spontan nicht.

MfG ChrisB

--
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?