2012-11-26 4 views
5

Also habe ich meine Website repariert. Meine Website generiert natürlich HTML aus einer "Ansicht".Ist checked = keine gültigen HTML-Checkboxen?

Gerade jetzt, ein Teil meiner Sicht sieht wie folgt aus:

<input type="checkbox" name="Publish" checked="{=Entry.Publish ? "yes" : "no" =}" value="true" /> 

Dies ist der einfachste Weg, um dies zu. Wenn es jedoch checked="no" generiert, wird das Kontrollkästchen weiterhin standardmäßig aktiviert, wenn ich die Seite lade. Muss ich wirklich das checked Attribut alle zusammen ausschließen, damit es nicht überprüft wird?

Außerdem verwende ich HTML5 als meine Doctype.

Antwort

7

Kurze Version: Ja, es muss ausgeschlossen werden.

Der Wert des Attributs ist irrelevant, solange es vorhanden ist, wird das Kontrollkästchen aktiviert.

<input type="checkbox" name="Publish" value="true" checked /> 

Dies gilt in HTML5.

In XHTML, das Attribut benötigt einen Wert und die Konvention war checked="checked" da Werte wie "ja" oder "wahr" impliziert, dass die Gegensätze die Box deaktivieren würden, was nicht wahr ist und Anfänger verwirren würde. Ähnliche Konventionen wurden für readonly="readonly" und disabled="disabled" übernommen.

1

Ja. checked ist ein Bool-Attribut, das "aus" ist, wenn es abwesend ist, und "ein", wenn es vorhanden ist.

W3C Referenz für boolean Attribute und für checked Attribut.

0

Sie möchten checked einschließen, wenn es überprüft werden soll, andernfalls das Attribut weglassen.

1

from the spec

checked = "checked" oder "" (leere Zeichenkette) oder leer

Gibt an, dass das Element eine ausgewählte Steuerelement darstellt.

Verwandte Themen