是否选中=在HTML复选框中无效?

是否选中=在HTML复选框中无效?,html,checkbox,html-validation,Html,Checkbox,Html Validation,所以,我一直在修复我的网站。我的网站当然从“视图”生成HTML 现在,我的部分观点如下: <input type="checkbox" name="Publish" checked="{=Entry.Publish ? "yes" : "no" =}" value="true" /> 这是最简单的方法。但是,当它生成checked=“no”时,无论何时加载页面,默认情况下都会选中该复选框。我真的必须将checked属性一起排除才能不检查它吗 另外,我使用HTML5作为我的doc

所以,我一直在修复我的网站。我的网站当然从“视图”生成HTML

现在,我的部分观点如下:

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

这是最简单的方法。但是,当它生成
checked=“no”
时,无论何时加载页面,默认情况下都会选中该复选框。我真的必须将
checked
属性一起排除才能不检查它吗


另外,我使用HTML5作为我的doctype。

是的
checked
是一个bool属性,不存在时为“关闭”,存在时为“打开”


W3C属性和属性的参考。

如果要检查属性,则要包括已检查的
,否则请忽略该属性。

checked=“checked”
(空字符串)或空字符串

指定元素表示选定控件


简短版本:是的,需要排除

该属性的值是无关的,只要它存在,就会选中该框

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

这在HTML5中是有效的

在XHTML中,属性需要一个值,而约定是
checked=“checked”
,因为“yes”或“true”等值意味着相反项将取消选中该框,这是不正确的,会让初学者感到困惑。对于
readonly=“readonly”
disabled=“disabled”
采用了类似的约定