Moin
Wie dem auch sei, ich konnte beim W3C nirgends einen Hinweis darauf finden, dass die input-Tags im Form-Element zu stehen *haben*. Vielleicht ist dies so logisch, dass die es nicht für nötig gehalten haben, darauf hinzuweisen? ;-)
Das du diesen Hinweis nicht finden konntest liegt daran, dass es erlaubt ist input-tags ausserhalb von Form zu haben (daher meckert der validator auch nicht). Bloß wenn sie nicht im form-Element liegen, dann .. nun dann gehören sie auch nicht zum Form-Element und dürfen nicht mitgesendet werden, wenn das Form abgeschickt wird. Diese Verwendung ist daher nur sinnvoll wenn du mit den Input-Dingern noch was anderes vorhast, mit Javascript etwa, oder einfach so als andere Darstellungsweise.
Wie ich mit meinem Javascript-Beispiel zeigen wollte:
<form method="GET" name="hihi" action="huhu.php"><input type="submit"></form><input type="text" name="hallo">
und
<form method="GET" name="hihi" action="huhu.php"><input type="submit"><input type="text" name="hallo"></form>
sind beides wunderschön syntaktisch korrekte HTML-Fragmente, haben aber eine unterschiedliche semantische Bedeutung. Wenn der IE das beides gleich interpretiert, ist die Fehlerkorrektur vom IE mal wieder übers Ziel hinausgeschossen.
In den meisten Fällen wird der Schreiber letzteres beabsichtigt haben wenn er ersteres hinschreibt, aber wer sagt denn dass da nicht irgendwo ein Javascript rumlungert, dass document.forms["hihi"].hallo.value als Ausgabefenster benutzt und es nicht mit dem Formular abgesendet werden darf? (etwa weil huhu.php sonst mist baut)
--
Henryk Plötz
Grüße aus Berlin