我可以将所需的属性应用于HTML5中的<select>字段吗?
如何检查用户是否从HTML5的<select>
字段中select了某个内容?
我看到<select>
不支持新的required
属性…我必须使用JavaScript吗? 还是有什么我失踪? :/
强制 :第一个值为空 – 需要在空值上工作
先决条件 :正确的HTML5 DOCTYPE和一个指定的input字段
<select name="somename" required> <option value="">Please select</option> <option value="one">One</option> </select>
根据文件 (列表和粗体是我的)
必需的属性是一个布尔属性。
指定时,用户将被要求在提交表单之前select一个值。如果select元素
- 具有指定的必需属性,
- 没有指定多个属性,
- 并且具有1的显示尺寸(不具有SIZE = 2或更多 – 如果不需要则省略);
- 如果select元素的选项列表(如果有的话)中的第一个选项元素的值是空string ,
- 并且该选项元素的父节点是select元素(而不是optgroup元素),
那么该选项是select元素的占位符标签选项。
根据规范, <select>
元素确实支持required
属性:
哪个浏览器不尊重这个?
(当然,你必须在服务器上进行validation,因为你不能保证用户将启用JavaScript。)
您可以使用选项元素的selected
属性来默认select一个选项。 您可以使用select元素的required
属性来确保用户select某个内容。
在Javascript中,您可以检查selectedIndex
属性以获取所选选项的索引,或者可以检查value
属性以获取所选选项的值。
根据HTML5规范, selectedIndex
返回第一个select的项目的索引(如果有的话),如果没有select的项目,则返回-1; value
返回第一个select的项目的值(如果有的话)或者空stringif没有select的项目。“因此,如果selectedIndex = -1,那么你知道他们没有select任何东西。
<button type="button" onclick="displaySelection()">What did I pick?</button> <script> function displaySelection() { var mySelect = document.getElementById("someSelectElement"); var mySelection = mySelect.selectedIndex; alert(mySelection); } </script>
是的,这是工作:
<select name="somename" required> <option value="">Please select</option> <option value="one">One</option> </select>
你必须保持第一个选项空白。
<form action=""> <select required> <option selected disabled value="">choose</option> <option value="red">red</option> <option value="yellow">yellow</option> <option value="green">green</option> <option value="grey">grey</option> </select> <input type="submit"> </form>
在html5中,你可以使用完整的expression式:
<select required="required">
我不知道为什么简短的expression不起作用,但试试这个。 它会解决。
首先你必须在第一个选项中分配空白值。 即selecthere.than只需要将工作。
使select框的第一项的值为空。
所以,当你发布每一个表格时,你会得到一个空白的值,用这种方式你会知道用户没有从下拉菜单中select任何东西。
<select name="user_role" required> <option value="">-Select-</option> <option value="User">User</option> <option value="Admin">Admin</option> </select>
尝试这个
<select> <option value="" style="display:none">Please select</option> <option value="one">One</option> </select>
您也可以使用JQuerydynamic地执行此操作
需要设置
$("#select1").attr('required', 'required');
删除必需
$("#select1").removeAttr('required');