【问题标题】:Is checked=no valid in HTML checkboxes?在 HTML 复选框中是否选中=无效?
【发布时间】:2012-11-26 10:01:50
【问题描述】:

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

现在,我的部分视图如下所示:

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

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

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

【问题讨论】:

    标签: html checkbox html-validation


    【解决方案1】:

    短版:是的,需要排除。

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

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

    这在 HTML5 中有效。

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

    【讨论】:

      【解决方案2】:

      是的。 checked 是一个布尔属性,当它不存在时为“关闭”,当它存在时为“开启”。

      boolean 属性和 checked 属性的 W3C 参考。

      【讨论】:

        【解决方案3】:

        from the spec

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

        指定该元素代表一个选定的控件。

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2023-02-04
            • 1970-01-01
            • 2011-12-19
            • 1970-01-01
            • 2013-05-09
            • 1970-01-01
            • 2015-12-28
            相关资源
            最近更新 更多