我正在开发一个管理员有权添加新用户的项目。
在ADD NEW USER表单中,我有一个选择的BOX of Designation,它是从数据库中填充的。我想知道如果用户没有从选择选项中选择任何指定它会给出错误请选择指定或类似的东西。这是我的代码:
<select class="form-control" name="designation" id="designation" style="color: black;" required>
<option value="<?php echo $row['designation_id']; ?>">Please Select designation</option>
<?php
$sel_cus = "select designation_name ,designation_id from designation ";
$res_cus = mysqli_query($connection, $sel_cus);
while ($row = mysqli_fetch_array($res_cus)) { ?>
<option value="<?php echo $row['designation_id ']; ?>"><?php echo $row['designation_name']; ?></option>
<?php
}
?>
</select>
如果选择框的选择索引为0,即[请选择指定],则会出错,请从列表中选择指定。需要善意的指导。
您正在访问$row
变量,它甚至存在于以下语句中,
<option value="<?php echo $row['designation_id']; ?>">Please Select designation</option>
请用以下内容替换此声明,
<option value="">Please Select designation</option>
对于第一个选择使用必需属性的选项,值应为空白。
请参阅此specification
如果您不希望出现错误,只需从select元素中删除required
属性。
你可以使用这种方法。
<form action="" method="post" onsubmit="return validateForm()">
<select class="form-control" name="designation" id="designation" style="color: black;" required>
<option value="0">Please Select designation</option>
<option value="1">designation 1</option>
<option value="2">designation 2</option>
</select>
<input type="submit" value="Submit">
</form>
<script>
function validateForm(){
var e = document.getElementById('designation');
var selectedDesig = e.options[e.selectedIndex].value;
if(selectedDesig == 0){
alert('Please Select designation');
return false;
}
return true;
}
</script>