Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript不按顺序执行if语句_Javascript_Forms_Validation_Bootbox - Fatal编程技术网

Javascript不按顺序执行if语句

Javascript不按顺序执行if语句,javascript,forms,validation,bootbox,Javascript,Forms,Validation,Bootbox,我正在尝试编写一个表单验证程序。我希望它会检查所有的if语句,并最终给出一个正确或错误的结果。但它一出现,就总是真的 function validator() { var ret = true; fname = document.getElementById('fname').value; newp = document.getElementById('newp').value; if (fname == null || fname == "") {

我正在尝试编写一个表单验证程序。我希望它会检查所有的if语句,并最终给出一个正确或错误的结果。但它一出现,就总是真的

function validator() {
    var ret = true;

    fname = document.getElementById('fname').value;
    newp = document.getElementById('newp').value;

    if (fname == null || fname == "") {
        bootbox.alert("Name is empty");
        ret = ret && false;

    }

    if (newp.length > 0) {

        bootbox.confirm("Account will be locked",
            function(result) {
                if (result == true) {
                    ret = ret && true;

                } else {
                    ret = ret && false;

                }
            });
    }

    return ret;

}

启动盒确认对话框不会阻止外部“验证程序”功能的执行。当确认对话框仍在显示时,该外部函数将返回


使用类似引导对话框的代码,您真的无法生成这样的函数。传递给确认对话框的回调函数将被调用,但直到用户与对话框交互

你确定吗?是否在调试器中跳过代码?听起来更像是您的代码没有输入
if
块,因为它们的条件计算为
false
。您需要为我们提供重新创建步骤,或者更好,但我认为在条件下输入时直接返回更简单,例如:
if(!fname)return false使用===并且我还将解释未定义的。谢谢,然后我必须使用具有返回值的好的旧确认()对话框返回,这可能有助于我制定逻辑。是的,普通的
确认()
应该可以工作