如果用户未从选择Box-PHP中选择值,如何限制用户提交表单

时间:2019-04-24 05:10:15

标签: javascript php html

我正在一个项目中,管理员有权添加新用户。

在“添加新用户”表格中,我有一个选定的“名称”框,该框从数据库中填充。我想知道用户是否未从选择选项中选择任何指定,否则会出错,请选择指定或类似的东西。 这是我的代码:

<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,即[请选择名称],则会出现错误,请从列表中选择名称。 需要善意的指导。

2 个答案:

答案 0 :(得分:2)

您正在访问$row变量,甚至在以下语句中也没有该变量,

<option value="<?php echo $row['designation_id']; ?>">Please Select designation</option>

请将该语句替换为以下内容,

<option value="">Please Select designation</option>

对于选择要与必需属性一起使用的第一个选项,值应该为空白。

请参阅此specification

如果您不希望出现错误,只需从select元素中删除required属性。

答案 1 :(得分:1)

您可以使用这种方法。

<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>