在我的具体例子中,我正在处理一个下拉列表,例如:
<select name="foo" id="bar"> <option disabled="disabled" selected="selected">Select an item:</option> <option>an item</option> <option>another item</option> </select>
当然,这是非常荒谬的,但我想知道是否定义了严格的行为. Opera有效地拒绝’selected’属性并选择列表中的下一个项目.所有其他浏览器似乎允许它,它仍然被选中.
更新:为了澄清,我特意对初步选择感兴趣.我正在处理其中一个“选择一个项目:” – 类型下拉列表,在这种情况下,第一个选项实际上是一个标签,而一个操作发生在onchange()上.这是相当好的“逐步增强”,因为提交按钮存在,只有通过JavaScript删除.如果“选择…”选项被删除,无论如何成为第一个项目将不可选择.我们是否完全排除交换下降,或者应该选择“选择…”选项,只是没有影响?
解决方法
在回答问题的更新时,我会说’label’选项应该是可选择的,但是在提交或通过JavaScript不做任何事情时,不允许在没有选择值的情况下提交表单(假设它是必填字段).
从可行的角度来看,我建议做这两个,所有的基础都被覆盖.