Javascript警告,如果value为空,并删除确认,如果它是n't

Javascript alert if value is empty and delete confirmation if it isn't

本文关键字:如果 删除 value 警告 为空 Javascript 确认      更新时间:2023-09-26

我有一个表单,一旦用户通过javascript确认操作,就删除a值。这工作得很好,但我也希望脚本提醒用户,如果值是空的,因此停止脚本运行。

<script>
    function delete_confirm() {
        var msg = confirm('Are you sure you want to delete the selected audit');
        if (msg == false) {
            return false;
        }
    }
</script>

<form id="audit_control_form" method="post" 
    action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <select id="audit_id_select" name="audit_id_select" style="width:150px">
        <option value="">Please select</option>
        <? while ($row = mysqli_fetch_assoc($result)) {
            if ($row['dateEnd'] == '0000-00-00') {
                $dateEnd = 'Present';
            } else {
                $dateEnd = date('d-m-Y', strtotime($row['dateEnd']));
            }
            echo '<option value="'.$row['auditID'].'">'.$row['auditName']
                .' (' . date('d-m-Y', strtotime($row['dateStart'])) 
                .' - '.$dateEnd . ')</option>';
        } ?>
    </select>
    <input type="submit" name="audit_delete_submit" 
        onClick="return delete_confirm()" value="Delete" />
</form>

我不确定什么是最好的方法来实现这个(我是相当新的javascript)。

你可以这样测试下拉菜单的选择值:

function delete_confirm() {
    if(document.getElementById("audit_id_select").value == "")
    {
        alert("Please select an option");
        return false;
    }
    var msg = confirm('Are you sure you want to delete the selected audit');
    if(msg == false) {
        return false;
    }
}

检查表单元素是否有值,并进行相应的分支。

if (document.getElementById("audit_id_select").value) {
  // select box has a selected value
} else {
  // select box has no selected value
}

对于您的选择框,您可以通过测试复选框的selectedIndex属性是否为0来检查用户是否没有选择值。因此,首先,您将使用document.getElementById获得对<select>元素的引用,然后测试该属性:

function delete_confirm() {
    var selectBox = document.getElementById('audit_id_select');
    if (selectBox.selectedIndex === 0) {
        alert("No value selected");
        return false;
    }
    var msg = confirm('Are you sure you want to delete the selected audit');
    if (msg == false) {
        return false;
    }
}
相关文章: