为何<option>可同时设置disabled与selected属性?值不提交却无VS Code报错
关于
<option>同时设置disabled和selected的说明 - HTML规范允许该组合:HTML标准并未禁止同时给
<option>标签设置disabled和selected属性,这属于合法的语法写法。 - 实际使用场景:这种组合常用来做表单的默认提示项,比如:
这里默认选中提示文本,但<select name="city"> <option disabled selected>请选择您所在的城市</option> <option value="beijing">北京</option> <option value="shanghai">上海</option> </select>disabled属性会让用户无法选中它(即便默认显示,提交表单时也不会传递这个选项的值),以此引导用户选择有效的选项。 - VS Code不报错的原因:VS Code的HTML语法检查基于官方规范,既然这种写法符合规范,就不会触发错误提示。只有当代码违反语法规则(比如属性拼写错误、标签嵌套错误)时,才会出现报错。
- 提交规则的逻辑:带有
disabled属性的表单控件(包括<option>)不会被提交到服务器,这是HTML表单的默认行为——selected仅控制默认选中状态,disabled才是决定是否参与表单提交的关键属性。
内容的提问来源于stack exchange,提问作者TazExprez
相关产品推荐
相关产品推荐

