Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不同的浏览器如何处理多个选定的选项_Javascript_Html_Select_Option - Fatal编程技术网

Javascript 不同的浏览器如何处理多个选定的选项

Javascript 不同的浏览器如何处理多个选定的选项,javascript,html,select,option,Javascript,Html,Select,Option,在如下情况下,不同的浏览器如何处理多个选定选项,程序员错误地或无意中在其HTML中选择了多个默认选项: <select> <option selected="selected"> Option 1</option> <option>Option 2</option> <option>Option 3</option> <option se

在如下情况下,不同的浏览器如何处理多个选定选项,程序员错误地或无意中在其HTML中选择了多个默认选项:

   <select>
        <option selected="selected"> Option 1</option>
        <option>Option 2</option>
        <option>Option 3</option>
        <option selected="selected">Option 4</option>
        <option>Option 5</option>
        <option>Option 6</option>
    </select>

选择1
选择2
选择3
选择4
备选案文5
备选案文6
目前我可以访问chrome、firefox、opera和safari,他们似乎都一致选择了
选项4
,可能是因为浏览器从上到下加载。尽管如此,安全总比后悔好。在我们都喜欢讨厌的浏览器中,比如IE(没有双关语)或Microsoft edge,它们有什么不同吗?

根据,它在IE 9中显示了相同的结果,我也在我的电脑上进行了测试。Microsoft edge也显示了相同的结果。我认为每个浏览器都有自己的解释。根据W3规范:

未指定多属性的select元素的选定属性集不得有多个子体选项元素


如果您想更详细地了解这一点,请将您提供的代码放在JSFIDLE上,然后尝试或中的链接。

您所说的“用户错误地或无意中在HTML中选择了多个默认选项”是什么意思?您正在做什么来允许用户实现这一点?您不能在您的终端应用验证来提醒用户他们犯了错误吗?还有规范:“未指定多个属性的select元素不得有多个子代选项元素及其所选属性集”。如何处理这一问题完全取决于浏览器供应商(这意味着在同一浏览器的不同版本之间,甚至不同的浏览器之间,这一点都可能在没有警告的情况下发生实际变化)。我将在稍后澄清这一点。我的问题不是关于网站用户,而是关于HTML语言的用户:-)
HTML语言的用户
-或“作者”?@JamesDonnelly-“这完全取决于浏览器供应商如何处理”。不,不是。如何处理这种情况是在HTML5规范中指定的,该规范说,当选项添加到DOM中时,树顺序中最后选择的选项将保留为所选选项,其他任何选项将被取消选择,与问题中确定的行为完全匹配。