我有一个这样的表单:
<select name="employment">
<option disabled="" selected="">-- What is your employment status --</option>
<option value="employed">Employed</option>
<option value="self_employed">Self Employed</option>
</select>
在PHP中,我运行每个$_POST变量,然后检查它们是否有值。如果不是,我会将该字段添加到数组中以显示错误消息。
问题是,如果我选择了默认的"禁用"消息,则不会通过post值传递任何信息,因此没有什么可供我验证的。
如果我打印$_POST变量,那么它不包含"就业"字段,除非我选择了一个选项。
我该如何解决这个问题?
<select name="employment">
<option disabled selected>-- What is your employment status --</option>
<option value="employed">Employed</option>
<option value="self_employed">Self Employed</option>
</select>
禁用属性
- 禁用的属性是布尔属性
- 如果存在,则指定应禁用某个选项
- 禁用的选项不可用且不可单击
语法:
<select disabled>
非
<select disabled="">
在XHTML的情况下,语法与不同
<select disabled="disabled">
隐藏属性
所以,如果您想验证它,请在选项中使用hidden
。
<select name="employment">
<option hidden>-- What is your employment status --</option>
<option value="employed">Employed</option>
<option value="self_employed">Self Employed</option>
</select>
当没有选择任何内容时,它将输出为-- What is your employment status --
<?php
echo $Employment=$_POST['employment'];
?>
输出:-- What is your employment status --
因此,现在您可以在下拉中轻松使用您的验证
有关更多信息,请单击禁用属性-W3学校
试试这个:
<select name="employment">
<option disabled="" selected="" value ="">-- What is your employment status --</option>
<option value="employed">Employed</option>
<option value="self_employed">Self Employed</option>
</select>
PHP:
if(empty($_POST['employment'])){
return false;
}else {
// I got value;
}