在我的具体示例中,我正在处理下拉菜单,例如:
<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 删除。如果“select...”选项被删除,那么成为第一项的任何内容都将无法选择。我们只是完全排除 onchange
下拉菜单,还是应该选择“select...”选项,但没有任何效果?
最佳答案
关于这种奇怪的组合,HTML 规范有点模糊(即完全没有)。他们确实说具有禁用属性集的表单元素不应该成功,所以它确实不能被选中。
浏览器可能会很好地渲染它,使其看起来被选中,但它不应该出现在 POSTed 数据中。看来 Opera 适合我。
关于html - 在 HTML 中,一个选中的、禁用的选项元素会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49790/