我怎么能检查用户是否从HTML5中的<select>字段选择了一些东西?
我看到<select>不支持新的必需属性…我必须使用JavaScript吗?还是我遗漏了什么?:/
我怎么能检查用户是否从HTML5中的<select>字段选择了一些东西?
我看到<select>不支持新的必需属性…我必须使用JavaScript吗?还是我遗漏了什么?:/
当前回答
在html5中,你可以使用完整的表达式:
<select required="required">
我不知道为什么简短的表达不管用,但是试试这个。 这就解决了。
其他回答
你需要将option的value属性设置为空字符串:
<select name="status" required>
<option selected disabled value="">what's your status?</option>
<option value="code">coding</option>
<option value="sleep">sleeping</option>
</select>
当用户在表单上按submit键时,Select将向服务器返回所选选项的值。空值与空文本输入相同——>引发所需的消息。
w3schools
value属性指定提交表单时发送到服务器的值。 例子
默认情况下,您可以使用option元素的selected属性来选择一个选项。您可以使用select元素的必需属性来确保用户选择了一些东西。
在Javascript中,你可以检查selectedIndex属性来获得所选选项的索引,或者你可以检查value属性来获得所选选项的值。
根据HTML5规范,selectedIndex“返回第一个选中项的索引(如果有),如果没有选中项则返回−1。value "返回第一个选中项的值(如果有),如果没有选中项则返回空字符串。"如果selectedIndex = -1,那么你知道他们没有选择任何东西。
<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>
<option value="" style="display:none">Please select</option>
<option value="one">One</option>
</select>
在html5中,你可以使用完整的表达式:
<select required="required">
我不知道为什么简短的表达不管用,但是试试这个。 这就解决了。
是的,它正在工作:
<select name="somename" required>
<option value="">Please select</option>
<option value="one">One</option>
</select>
你得把第一选项空着。