http://www.w3.org/TR/html401/interact/forms.html#edef-SELECT
如果提交的select multiple为空,则不指定客户端的行为方式。有谁知道是否有标准吗?
答案 0 :(得分:2)
可悲的是,我没有时间对此进行测试,但我希望以下内容可以帮助您...
如果我没弄错的话,加载页面时默认选择第一个元素。因此,请创建一个非常简单的HTML文件,其中form
和select
的{{1}}属性处于活动状态,并且有一些multiple
。然后,打开文件,查看Chrome,Firefox,Internet Explorer,Opera和Safari等少数浏览器中会发生什么。
另一件事是看看HTML5在这里说了些什么:http://dev.w3.org/html5/spec/Overview.html#the-select-element。
<强>更新强>
W3C HTML 4.01标准声明了这一点(在您提供的链接中向下滚动一下):
17.6.1预先选择的选项
可能有零个或多个选择 为用户预先选择。用户代理 应该确定哪些选择 预先选择如下:
如果没有OPTION元素具有所选 属性集,用户代理行为 最初选择哪个选项 选中未定义。注意。以来 现有的实现处理这个 情况不同,目前 规范与RFC 1866不同 ([RFC1866]第8.1.3节),其中 州:初始州有 选择第一个选项,除非a SELECTED属性出现在任何 的元素。 自用户以来 代理行为不同,作者应该 确保每个菜单包含一个 默认预先选择的选项。
如果一个OPTION元素已选中 属性集,应该是 预先选定的。如果是SELECT元素 具有多个属性集和 不止一个OPTION元素有 他们应该选择属性集 都是预先选定的。已经被考虑了 如果有多个OPTION,则会出错 element具有所选的属性集 而SELECT元素没有 多重属性集。用户 代理商的处理方式可能有所不同 这个错误,但不应该预先选择 不止一个选择。
答案 1 :(得分:1)
不幸的是,@ Alerty错了。如果select元素上存在multiple属性,但没有选项元素具有selected属性,则默认情况下选择 no 元素。 (在Win 7上测试IE 9,FF 5,Chrome 13和Safari 5。)
那么,如果用户没有选择任何提交表单的内容,那么Web浏览器应该怎么做?它应该完全符合您的期望:不提交任何选择。这正是当前版本的HTML5规范所说的:
“multiple属性是布尔属性。如果属性存在,则select元素表示从选项列表中选择零或更多选项的控件。”
http://dev.w3.org/html5/spec/Overview.html#the-select-element