一段JS代码的逻辑问题?
请问这段js代码的逻辑
- JScript code
function regCheck() { //alert("gghgh"); check_UserName(); if(!check_UserName_bool || $("text_UserName").value =="") { $("text_UserName").focus(); return false; } alert("通过了啊"); check_UserPWD1(); if(!check_UserPWD1_bool|| $("text_UserPWD1").value =="") { $("text_UserPWD1").focus(); return false; } check_UserPWD2(); if(!check_UserPWD2_bool) { $("text_UserPWD2").focus(); return false; } //alert("验证 Email 时:" + check_UserName_bool); //check_UserEmail(); alert("验证时 Email:" + check_UserName_bool); if(!check_UserEmail_bool || $("text_UserEmail").value =="") { $("text_UserEmail").focus(); return false; } alert(" Email 通过了啊"); check_ValidCode(); if(!check_ValidCode_bool) { $("text_ValidCode").focus(); return false; } }为什么我在用的时候,它只检测用户名是否为空??
下面如果密码,邮箱为空它都不能返回false,而且alert也不会有提示,
只有第一个alert会提示信息,后面的好像都没用上,难道是程序本身就错了吗??
求大神!!!给解释。。。。。
[解决办法]
你的代码的逻辑是只用前一个验证通过才验证下一个。也就是说当用户名验证没通过时,程序执行到return false,就不在执行,否则验证密码1,如果不通过,也是执行到return false就不在执行,否则验证密码2...依次类推。
[解决办法]
楼上说的很对~~你要理解 return false; 的作用~~ 一个JS 方法内如果用了return false 跳出函数 不执行接下来的方法了
[解决办法]
是return false的原因