Javascript不按顺序执行if语句
我正在尝试编写一个表单验证程序。我希望它会检查所有的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 == "") {
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代码>使用===并且我还将解释未定义的。谢谢,然后我必须使用具有返回值的好的旧确认()对话框返回,这可能有助于我制定逻辑。是的,普通的确认()
应该可以工作