如何在未选择默认值的情况下设置必需的选择

Dan*_*iel 22 html html-select

我正在尝试强制用户进行选择,而不是仅仅使用第一个字段.如何在不使用javascript的情况下阻止用户提交此表单?

<select required>
  <option >Make a selection</option>
  <option value="saab">Saab</option>
  <option value="vw">VW</option>
  <option value="audi">Audi</option>
</select> 
Run Code Online (Sandbox Code Playgroud)

ajp*_*243 44

这个答案,你可以使用HTML5的required一个属性<select>,如果你给默认<option>的空value属性(其它标准中,看到<select>文档).

如果select元素指定了required属性,则没有指定multiple属性,并且显示大小为1; 如果select元素的选项列表中的第一个选项元素的值(如果有的话)是空字符串,并且该选项元素的父节点是select元素(而不是optgroup元素),那么该选项是select元素的占位符标签选项.

所以你想要的

<select required>
    <option value="">Make a selection</option>
    <!-- more <option>s -->
</select>
Run Code Online (Sandbox Code Playgroud)

老式浏览器需要JavaScript解决方案,因为它们不支持HTML5.