bul*_*ley 418 html forms checkbox html-input
我们都知道如何在HTML中形成一个复选框输入:
<input name="checkbox_name" id="checkbox_id" type="checkbox">
Run Code Online (Sandbox Code Playgroud)
我不知道 - 复选复选框的技术正确值是什么?我看到这些都有效:
<input name="checkbox_name" id="checkbox_id" type="checkbox" checked>
<input name="checkbox_name" id="checkbox_id" type="checkbox" checked="on">
<input name="checkbox_name" id="checkbox_id" type="checkbox" checked="yes">
<input name="checkbox_name" id="checkbox_id" type="checkbox" checked="checked">
<input name="checkbox_name" id="checkbox_id" type="checkbox" checked="true">Run Code Online (Sandbox Code Playgroud)
答案是无关紧要的吗?我看到的答案,没有证据标记为正确这里从规范本身:
复选框(和单选按钮)是可由用户切换的开/关开关.当设置了控制元素的checked属性时,开关处于"打开"状态.提交表单时,只有"on"复选框控件才能成功.表单中的多个复选框可以共享相同的控件名称.因此,例如,复选框允许用户为同一属性选择多个值.INPUT元素用于创建复选框控件.
规范作者会说什么是正确答案?请提供基于证据的答案.
Han*_*ele 439
严格来说,你应该把一些有意义的东西 - 根据这里的规范,最正确的版本是:
<input name=name id=id type=checkbox checked=checked>
Run Code Online (Sandbox Code Playgroud)
对于HTML,您还可以使用空属性语法,checked=""甚至简单checked(对于更严格的XHTML,不支持此操作).
但实际上,大多数浏览器都会支持引号之间的任何值.将检查以下所有内容:
<input name=name id=id type=checkbox checked>
<input name=name id=id type=checkbox checked="">
<input name=name id=id type=checkbox checked="yes">
<input name=name id=id type=checkbox checked="blue">
<input name=name id=id type=checkbox checked="false">
Run Code Online (Sandbox Code Playgroud)
只有以下内容将被取消选中:
<input name=name id=id type=checkbox>
Run Code Online (Sandbox Code Playgroud)
另见这个类似的问题disabled="disabled".
Cir*_*四事件 49
HTML5规范:
http://www.w3.org/TR/html5/forms.html#attr-input-checked:
disabled content属性是布尔属性.
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes:
元素上存在布尔属性表示真值,缺少属性表示false值.
如果该属性存在,则其值必须是空字符串,或者是属性的规范名称的ASCII不区分大小写匹配的值,没有前导或尾随空格.
结论:
以下是有效,等效和真实的:
<input type="checkbox" checked />
<input type="checkbox" checked="" />
<input type="checkbox" checked="checked" />
<input type="checkbox" checked="ChEcKeD" />
Run Code Online (Sandbox Code Playgroud)
以下是无效的:
<input type="checkbox" checked="0" />
<input type="checkbox" checked="1" />
<input type="checkbox" checked="false" />
<input type="checkbox" checked="true" />
Run Code Online (Sandbox Code Playgroud)
缺少该属性是false的唯一有效语法:
<input />
Run Code Online (Sandbox Code Playgroud)
建议
如果您关心编写有效的XHTML,请使用checked="checked",因为<input checked>无效的XHTML(但有效的HTML)和其他替代方案的可读性较差.否则,只需使用<input checked>它,因为它更短.
Nie*_*sol 35
<input ... checked />
<input ... checked="checked" />
Run Code Online (Sandbox Code Playgroud)
这些同样有效.在JavaScript中:
input.checked = true;
input.setAttribute("checked");
input.setAttribute("checked","checked");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
508077 次 |
| 最近记录: |