Fra*_*anz 24 html cross-browser
当我提交带有已明确定义的已选中复选框的HTML表单时value
,Chrome会on
将该字段作为该字段的值发送.
这是标准行为吗?或者我对其他浏览器有什么期望?
Juk*_*ela 26
HTML 4.01规范未指定已选中复选框的值.它只是说它是"开启",但这只是散文,并没有说明默认值是什么.但它也说(在元素的描述下input
)value
在这种情况下需要该属性.
因此<input type=checkbox name=foo>
,在使用的值方面有未定义的行为,但实际上浏览器使用value=on
默认值.
HTML Living Standard反映了这一点:值处于"默认/打开"模式,这意味着on
如果没有提供值属性,则值为" ".从4.10.7.1.16复选框状态(类型=复选框) - HTML Living Standard(2013年9月):
- 值IDL属性处于默认/打开模式.
[...]
default/on
On获取,如果元素具有value
属性,则必须返回该属性的值; 否则,它必须返回字符串"on
".在设置时,必须将元素的value
属性设置为新值.
这也是另一个HTML规范的一部分,W3C HTML 2013年8月5日推荐规范也有这个:
供我参考之前的评论:
Firefox(2013年9月),Chrome(2013年9月),Internet Explorer(6):"on".我怀疑这可以追溯到很久.http://lxr.mozilla.org/classic/source/lib/layout/layform.c#86 - 因为大多数浏览器需要为自己的代码对象设置一些默认值,我猜这个"on"只是常见的.
归档时间: |
|
查看次数: |
39476 次 |
最近记录: |