本帖最后由 zlf_2643 于 2011-01-30 10:20:39 编辑

解决方案 »

  1.   

    我猜测你页面内的input是用onblur来触发test事件的?
    你可以在表单提交的时候给一个统一的onsubmit来触发test事件,其他地方就不要给onblur了。
      

  2.   

    to tcwsyt:
      我是用onsubmit来触发test事件的~
    <form name="zhuce" onsubmit="return test()">
      

  3.   

    逐个验证,不通过每个都return false;当然不会继续验证了。
      

  4.   

    可以设个flag,最后return flag;
      

  5.   

    function test()  
    {
        var usern = /^[a-zA-Z]+[a-zA-Z0-9_]+[a-zA-Z0-9]{4,18}$/; 
        var password1=/^[a-zA-Z]{6,16}$/;
        var answer1=/^[a-zA-Z0-9\u4e00-\u9fa5]{4,30}$/;
        var year1=/^[1800-2099]$/;
        var anothername1=/^[|+)(*&^%$#@!~=\}{][:;?> ]{,20}$/; //if等于的时候
        var phonenumber1=/^[13]+[000000000-999999999]$/;
        var email1= /^[a-za-z0-9_-]+@[a-za-z0-9_-]+(\.[a-za-z0-9_-]+)+$/;
        var QQ1=/^[0-9]{6,11}$/;
        var p1=document.zhuce.password.value
        var p2=document.zhuce.checkpassword.value
        var isFalse=0;
        if(!document.zhuce.firstemail.value.match(usern))
        {
        document.getElementById("div11").style.display="block";
        document.getElementById("div1").style.display="none";
        isFalse=1;
        }
        if(!document.zhuce.password.value.match(password1)) 
        {
        document.getElementById("div22").style.display="block";
        document.getElementById("div2").style.display="none";
        isFalse=1;
        }
        if(p1!=p2)
        {
        document.getElementById("div33").style.display="block";
        document.getElementById("div3").style.display="none";
        isFalse=1;
        }
        if(!document.zhuce.answer.value.match(answer1))
        {
        document.getElementById("div44").style.display="block";
        document.getElementById("div4").style.display="none";
        isFalse=1;
        }
        if(!document.zhuce.year.value.match(years))
        {
        document.getElementById("div55").style.display="block";
        document.getElementById("div5").style.display="none";
        isFalse=1;
        }
        if(document.zhuce.anothername.value.match(anothernames))
        {
        document.getElementById("div66").style.display="block";
        document.getElementById("div6").style.display="none";
        isFalse=1;
        }
        if(!document.zhuce.phonenumber.value.match(phonenumber1))
        {
        document.getElementById("div77").style.display="block";
        document.getElementById("div7").style.display="none";
        isFalse=1;
        }
        if(!document.zhuce.email.value.match(email1))
        {
        document.getElementById("div88").style.display="block";
        document.getElementById("div8").style.display="none";
        isFalse=1;
        }
        if(!document.zhuce.QQ.value.match(QQ1))
        {
        document.getElementById("div99").style.display="block";
        document.getElementById("div9").style.display="none";
        isFalse=1;
        }
        if(!document.zhuce.checkbox.checked)
        {
        document.getElementById("div10").style.display="block";
        isFalse=1;
        }
        if (isFalse==1)
        {
        return false;
        }
        return true;
    }
      

  6.   

    开头flag=true;
    验证里的return false;换成flag=false;
    最后的return true;换成return flag;
      

  7.   

    其实验证都是逐个来的,只是你想验证后的返回效果不同罢了,加上flag,那其实也是逐个验证的
      

  8.   


    function test()  
    {
    var usern = /^[a-zA-Z]+[a-zA-Z0-9_]+[a-zA-Z0-9]{4,18}$/; 
    var password1=/^[a-zA-Z]{6,16}$/;
    var answer1=/^[a-zA-Z0-9\u4e00-\u9fa5]{4,30}$/;
    var year1=/^[1800-2099]$/;
    var anothername1=/^[|+)(*&^%$#@!~=\}{][:;?> ]{,20}$/; //if等于的时候
    var phonenumber1=/^[13]+[000000000-999999999]$/;
    var email1= /^[a-za-z0-9_-]+@[a-za-z0-9_-]+(\.[a-za-z0-9_-]+)+$/;
    var QQ1=/^[0-9]{6,11}$/;
    var p1=document.zhuce.password.value
    var p2=document.zhuce.checkpassword.value
    var flag=true
    if(!document.zhuce.firstemail.value.match(usern))
    {
    document.getElementById("div11").style.display="block";
    document.getElementById("div1").style.display="none";
    flag=false;
    }
    if(!document.zhuce.password.value.match(password1)) 
    {
    document.getElementById("div22").style.display="block";
    document.getElementById("div2").style.display="none";
    flag=false;
    }
    if(p1!=p2)
    {
    document.getElementById("div33").style.display="block";
    document.getElementById("div3").style.display="none";
    flag=false;
    }
    if(!document.zhuce.answer.value.match(answer1))
    {
    document.getElementById("div44").style.display="block";
    document.getElementById("div4").style.display="none";
    flag=false;
    }
    if(!document.zhuce.year.value.match(years))
    {
    document.getElementById("div55").style.display="block";
    document.getElementById("div5").style.display="none";
    flag=false;
    }
    if(document.zhuce.anothername.value.match(anothernames))
    {
    document.getElementById("div66").style.display="block";
    document.getElementById("div6").style.display="none";
    flag=false;
    }
    if(!document.zhuce.phonenumber.value.match(phonenumber1))
    {
    document.getElementById("div77").style.display="block";
    document.getElementById("div7").style.display="none";
    flag=false;
    }
    if(!document.zhuce.email.value.match(email1))
    {
    document.getElementById("div88").style.display="block";
    document.getElementById("div8").style.display="none";
    flag=false;
    }
    if(!document.zhuce.QQ.value.match(QQ1))
    {
    document.getElementById("div99").style.display="block";
    document.getElementById("div9").style.display="none";
    flag=false;
    }
    if(!document.zhuce.checkbox.checked)
    {
    document.getElementById("div10").style.display="block";
    flag=false;
    }
    return flag;
      

  9.   

    写个简单的<html>
    <head>
    <script type="text/javascript">
    function test() {
        var usern = /^[a-zA-Z]+[a-zA-Z0-9_]+[a-zA-Z0-9]{4,18}$/; 
        var password1=/^[a-zA-Z]{6,16}$/;
        
        var flag = true;
        
        if(!document.zhuce.firstemail.value.match(usern))
        {
        document.getElementById("div11").style.display="block";
        document.getElementById("div1").style.display="none";
        flag = false;
        }
        if(!document.zhuce.password.value.match(password1)) 
        {
        document.getElementById("div22").style.display="block";
        document.getElementById("div2").style.display="none";
        flag = false;
        }
        
        alert(flag);
        
        return flag;
    }
    </script>
    </head>
    <body>
    <form name="zhuce" onsubmit="return test()">
    <input type="text" id="firstemail" name="firstemail"/><div id="div1">div1</div><div id="div11" style="display:none">div11</div>
    <input type="text" id="password" name="password"/><div id="div2">div2</div><div id="div22" style="display:none">div22</div>
    <input type="submit"/>
    </form>
    </body>找找其他代码的原因吧。