我怎么能检查用户是否从HTML5中的<select>字段选择了一些东西?
我看到<select>不支持新的必需属性…我必须使用JavaScript吗?还是我遗漏了什么?:/
我怎么能检查用户是否从HTML5中的<select>字段选择了一些东西?
我看到<select>不支持新的必需属性…我必须使用JavaScript吗?还是我遗漏了什么?:/
当前回答
将选择框的第一项的值设为空白。
所以当你发布表单时,你会得到空白值,使用这种方式,你会知道用户没有从下拉菜单中选择任何东西。
<select name="user_role" required>
<option value="">-Select-</option>
<option value="User">User</option>
<option value="Admin">Admin</option>
</select>
其他回答
必填项:第一个值为空-必填项工作为空值
先决条件:正确的html5 DOCTYPE和命名输入字段
<select name="somename" required>
<option value="">Please select</option>
<option value="one">One</option>
</select>
根据文档(列表和粗体是我的)
The required attribute is a boolean attribute. When specified, the user will be required to select a value before submitting the form. If a select element has a required attribute specified, does not have a multiple attribute specified, and has a display size of 1 (do not have SIZE=2 or more - omit it if not needed); and if the value of the first option element in the select element's list of options (if any) is the empty string (i.e. present as value=""), and that option element's parent node is the select element (and not an optgroup element), then that option is the select element's placeholder label option.
<select>元素支持required属性,按照规范:
http://dev.w3.org/html5/spec-author-view/the-select-element.html#the-select-element
哪个浏览器不支持这个功能?
(当然,无论如何您都必须在服务器上验证,因为您不能保证用户将启用JavaScript。)
试试这个,这个会有用的,我试过了,这个有用。
<!DOCTYPE html>
<html>
<body>
<form action="#">
<select required>
<option value="">None</option>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<input type="submit">
</form>
</body>
</html>
你也可以用JQuery动态地做到这一点
设置所需的
$("#select1").attr('required', 'required');
删除需要
$("#select1").removeAttr('required');
首先,您必须在第一个选项中分配空白值。 选择这里。而不是只需要工作。