Welche Werte für die geprüft und ausgewählt sind falsch?
Ich denke nach W3-Spezifikationen, die Sie tun sollen
<input type="checkbox" checked="checked" />
Und
selected="selected"
Aber die meisten Browser akzeptieren Sie nur schreiben "ÜBERPRÜFT" und geben Sie es nicht einen Wert. Also, was ist, wenn Sie tun, fügen Sie das Attribut, gibt es irgendwelche Werte, die würden (konsequent) als falsch?
- Wahrscheinlich:
NO
,FALSE
,0
- Das ist FALSCH.
- Hoppla, nicht genug Kaffee heute morgen. Ich war im Boolean-Modus. 🙂
- möglich, Duplikat der stackoverflow.com/questions/1033944/..., da beide Boolesche Attribute (nicht gekennzeichnet)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keine Werte, die bewirken, dass das Kontrollkästchen nicht deaktiviert werden. Wenn die
checked
Attribut vorhanden ist, wird das Kontrollkästchen überprüft werden, unabhängig davon, welcher Wert eingestellt wurde.HTML:
Macht alles überprüft, die in allen modernen Browsern (FF3.6, Chrome 10, IE8).
Den
checked
undselected
Attribute zulässig sind nur zwei Werte, die eine Kopie des Attributs name und (ab HTML 5 weiter) einen leeren string. Geben, jeder andere Wert einen Fehler.Wenn Sie nicht wollen, um das Attribut zu setzen, dann wird das gesamte Attribut muss verzichtet werden.
Beachten Sie, dass in HTML 4 Sie auslassen kann, alles außer dem Wert. HTML 5 geändert, das weglassen alles außer den Namen (das macht keinen praktischen Unterschied).
Damit die komplette (abgesehen von Variationen in der Fall) gültigen Darstellungen des Attributs:
Dokumente dienten als text/html (HTML oder XHTML) wird gespeist durch eine tag-soup-parser, und die Anwesenheit von einem checked-Attribut (mit einem Wert) werden behandelt, wie "Dieses element sollte überprüft werden". Während er also ungültig,
checked="true"
,checked="yes"
, undchecked="false"
alle trigger aktivierten Zustand.Habe ich nicht Lust hätte zu erfahren, was die error-recovery-Mechanismen für XML-parsing-Modus sollte ein anderer Wert angegeben werden, um das Attribut, aber ich würde erwarten, dass das Vermächtnis von HTML und/oder einfache Fehlerbehebung behandeln würde, es auf die gleiche Weise: Wenn das Attribut ist, da dann das element aktiviert ist.
(Und alle der oben genannten gilt gleichermaßen für
selected
wiechecked
.)Keinen Wert gilt als false, nur das fehlen des Attributs. Es gibt viele ungültige Werte aber, und einige Implementierungen berücksichtigen bestimmte ungültige Werte als false.
HTML5-Spezifikation
http://www.w3.org/TR/html5/forms.html#attr-input-checked :
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :
Abschluss
Folgenden sind gültig, gleichwertig und wahr:
Folgenden sind ungültig:
Das fehlen des Attributs wird nur der gültige syntax für false:
Empfehlung
Wenn Sie sich sorgen über das schreiben valides XHTML verwenden
checked="checked"
, da<input checked>
ungültig ist und andere alternativen sind schlechter lesbar. Sonst, verwenden Sie einfach<input checked>
da es kürzer ist.Eigentlich die HTML 4.01-Spezifikation besagt, dass diese Attribute nicht benötigen Werte. Ich habe noch nicht persönlich begegnet eine situation, wo ein wertvolles erbrachten diese Kontrollen als abgewählt.
Hier sind die jeweiligen links zu den spec-Dokument für ausgewählt und geprüft.
Edit: Firebug macht die checkbox als checked unabhängig von allen Werten, die ich in Anführungszeichen setzen für die checked-Attribut (einschließlich nur die Eingabe "geprüft" ohne Werte auch immer), und IE 8 auf der Entwickler-Tools, die Kräfte checked="checked". Ich bin mir nicht sicher, ob einer ähnliche Werkzeuge existieren für andere Browser verändern könnten den gerenderten Zustand einer checkbox, jedoch.
Der leere string ist false, da eine Regel.Anscheinend die leere Zeichenkette, wird nicht respektiert, wie leer die in allen Browsern und die Anwesenheit der markierten Attribut ist gemeint überprüft. Damit das ganze Attribut muss entweder vorhanden sein oder weggelassen werden.