5

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

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

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

这是解决此问题的最简单方法。但是,当它生成时checked="no",每当我加载页面时,默认情况下仍会选中该复选框。我真的必须将checked属性全部排除在外才能不被检查吗?

另外,我使用 HTML5 作为我的文档类型。

4

4 回答 4

6

短版:是的,需要排除。

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

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

这在 HTML5 中有效。

在 XHTML 中,属性需要一个值,并且约定是checked="checked"因为像“yes”或“true”这样的值意味着相反的值会取消选中该框,这是不正确的,并且会使初学者感到困惑。readonly="readonly"和采用了类似的约定disabled="disabled"

于 2012-11-26T02:01:50.813 回答
1

是的。checked是一个布尔属性,当它不存在时为“off”,当它存在时为“on”。

布尔属性和检查属性的W3C 参考。

于 2012-11-26T01:33:45.890 回答
1

从规范

checked = "checked"""(空字符串)或空

指定该元素表示选定的控件。

于 2012-11-26T01:36:36.140 回答
0

如果要checked检查,则要包含该属性,否则请省略该属性。

于 2012-11-26T01:35:58.650 回答