So, I’ve been fixing up my website. My website of course generates HTML from a “view”.
Right now, a portion of my view looks like this:
<input type="checkbox" name="Publish" checked="{=Entry.Publish ? "yes" : "no" =}" value="true" />
This is the easiest way to go about this. However, when it generates checked="no", the checkbox will still be checked by default whenever I load the page. Do I really have to exclude the checked attribute all together for it to not be checked?
Also, I’m using HTML5 as my doctype.
Short version: yes, it needs to be excluded.
The value of the attribute is irrelevant, as long as it is present, the box will be checked.
This is valid in HTML5.
In XHTML, the attribute needed a value and the convention was
checked="checked"since values like “yes” or “true” implied that the opposites would uncheck the box, which is not true and would confuse beginners. Similar conventions were adopted forreadonly="readonly"anddisabled="disabled".