日期:2014-05-17  浏览次数:20595 次

一段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的原因