Sind Formularelemente außerhalb eines FORM-Tags semantisches HTML5?
Lesezeit: 3 Minuten
Wenn ich ein SELECT-Tag habe, das eine Tabelle basierend auf einer Benutzerauswahl filtert, muss sich das SELECT-Tag in einem FORM-Tag befinden (um gültiges HTML5 zu sein), wenn die resultierende Funktionalität nicht funktioniert, wenn JS deaktiviert ist (dh wir werden Zeigen Sie die gesamte Tabelle oder einen “Mehr”-Link an, anstatt einen serverseitigen Filter bei der Auswahl der Formularaktion/Senden-Option durchzuführen (Wir können die Auswahl in JS schreiben, damit sie aus dem Markup verschwindet, wenn JS deaktiviert ist.
Oder müssen sich alle Formularelemente unabhängig von der Verwendung in einem Formular-Tag befinden (und daher ein Null-‘Aktion’-Attributwert).
Ich weiß, dass HTML5 fast alles erlaubt, ich konnte nur keine endgültige Antwort auf W3 finden, also dachte ich, ich würde Ihre Meinung hören. Hoffe das macht Sinn. Prost.
Wie spielt die Semantik dabei eine Rolle? en.wikipedia.org/wiki/Semantik Sie meinten “gültig” oder “wohlgeformt” [html5]vielleicht?
– amn
21. Mai 2016 um 15:47 Uhr
Robertc
Alle Formularsteuerelemente können überall verwendet werden Inhalt formulieren erwartet wird, was bedeutet, dass sie fast überall im Hauptteil des Dokuments erscheinen können. Wenn Sie sie nicht an einen Server zurücksenden müssen, müssen sie nicht mit einem Formular verknüpft werden, aber ich habe festgestellt, dass Sie in einigen Browsern die Vorteile nicht nutzen können Formularvalidierungsfunktionen es sei denn, die Elemente können möglicherweise eingereicht werden.
Eine neue Funktion von HTML5 ist, dass Formularsteuerelemente nicht mehr direkt untergeordnete Elemente von a sein müssen form Element, um mit diesem Formular eingereicht zu werden, das form Attribut ermöglicht Ihnen die Angabe der id des Formulars, mit dem das Element eingereicht werden soll.
Während robertc die maßgeblichen Links (und die beste Antwort) bereitgestellt hat, ist hier die HTML5-Spezifikation in der “Edition für Webautoren” (etwas besser lesbar): dev.w3.org/html5/spec-author-view/…
– Jody tate
13. Juni 2011 um 4:17 Uhr
Es scheint, dass sich Elemente in HTML5-Formularen außerhalb von a befinden können <form> tag und noch gültig sein;
<!DOCTYPE html>
<html>
<head>
<title>Just making this valid</title>
</head>
<body>
<select>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
</body>
</html>
Der obige Code wird erfolgreich validiert (abzüglich der offensichtlichen Zeichencodierungsfehler). Ich habe nicht die gesamte HTML5-Spezifikation gelesen, aber der Validator ist in solchen Angelegenheiten normalerweise richtig.
Die HTML5-Spezifikation ausdrücklich erlaubt <input>s (und andere formularassoziierte Elemente) kein a haben <form>:
Ein formularassoziiertes Element kann eine Beziehung zu a haben <form> Element, das als Element des Elements bezeichnet wird Besitzer des Formulars. Wenn ein formularzugeordnetes Element nicht mit a verbunden ist <form> -Element wird sein Formularbesitzer als null bezeichnet.
Also fühlen Sie sich frei, sie zu verwenden, wo immer Ihr Herz begehrt!
12988100cookie-checkSind Formularelemente außerhalb eines FORM-Tags semantisches HTML5?yes
Wie spielt die Semantik dabei eine Rolle? en.wikipedia.org/wiki/Semantik Sie meinten “gültig” oder “wohlgeformt” [html5]vielleicht?
– amn
21. Mai 2016 um 15:47 Uhr