按钮为:<input type='submit' id='bsend' value='Send' class='input1' disabled="disabled">

解决方案 »

  1.   

    其它都正常,所有的输入后面都验证正确并显示勾的图片,就是下面的send按钮不会从灰色变为可用.
      

  2.   

    alert("ok"); 
    document.getElementById('bsend').disabled = false; 
      

  3.   

    var check1 =true;
      var check2 = true;
      var check3 = true;
      ................
      var check8 = true;
      

  4.   

    function check(n)
    {
      var check1 =true;
      var check2 = true;
      var check3 = true;
      ................
      var check8 = true;
      

  5.   

    if(check1 && check2 && check3&& check4&& check5&& check6&& check7&& check8) 
      { 
        alert("ok"); 
        document.getElementById('bsend').disabled = ''; 
      } 
      else 
      { 
        alert("no"); 
        document.getElementById('bsend').disabled = 'true'; 
      } 
    变成
    if(check1 | check2 | check3| check4| check5| check6| check7| check8) 
      { 
        alert("ok"); 
        document.getElementById('bsend').disabled = ''; 
      } 
      else 
      { 
        alert("no"); 
        document.getElementById('bsend').disabled = 'true'; 
      } 
      

  6.   

    因为你只传递一个参数n,所以switch(n) 里面只执行一条case 随后就breeak了,所以其他的几个就还是false;
      

  7.   


    function check(n) 

      var result = false; 
      var val = document.getElementById(n).value; 
      switch(n) 
      { 
        case 'i1': 
        var reg =/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i; 
        if(reg.test(val)) 

    result=true; 
    document.getElementById(n+"_span").innerHTML = " <img src='img/check_right.gif'>"; 

        else 

    result=false; 
    document.getElementById(n+"_span").innerHTML = " <img src='img/check_error.gif'>请输入正确的邮件地址"; 

        break; 
        
        case 'i2': 
        var reg =/^\w{6,}$/; 
        if(reg.test(val)) 

    result=true; 
    document.getElementById(n+"_span").innerHTML = " <img src='img/check_right.gif'>"; 

        else 

    result=false; 
    document.getElementById(n+"_span").innerHTML = " <img src='img/check_error.gif'>密码要求长度6位以上"; 

        break; 
        
        case 'i3': 
        if(val==document.getElementById('i2').value) 

    result=true; 
    document.getElementById(n+"_span").innerHTML = " <img src='img/check_right.gif'>"; 

        else 

    result=false; 
    document.getElementById(n+"_span").innerHTML = " <img src='img/check_error.gif'>请输入与上面相面的密码"; 

        break; 
        
        case 'i4': 
        var reg =/^[a-zA-Z\s]+$/; 
        if(reg.test(val)) 

    result=true; 
    document.getElementById(n+"_span").innerHTML = " <img src='img/check_right.gif'>"; 

        else 

    result=false; 
    document.getElementById(n+"_span").innerHTML = " <img src='img/check_error.gif'>只允许字母及空格"; 

        break; 
        
        case 'i5': 
    var reg =/^[-\d]+$/; 
    if(reg.test(val)) 

    result=true; 
    document.getElementById(n+"_span").innerHTML = " <img src='img/check_right.gif'>"; 

        else 

    result=false; 
    document.getElementById(n+"_span").innerHTML = " <img src='img/check_error.gif'>只允许数及字符号-"; 

        break; 
        
        case 'i6': 
        var reg =/^[-\d]+$/; 
        if(reg.test(val)) 

    result=true; 
    document.getElementById(n+"_span").innerHTML = " <img src='img/check_right.gif'>"; 

        else 

    result=false; 
    document.getElementById(n+"_span").innerHTML = " <img src='img/check_error.gif'>只允许数及字符号-"; 

        break; 
        
        case 'i7': 
        var reg =/^[,.\w\s#]+$/; 
        if(reg.test(val)) 

    result=true; 
    document.getElementById(n+"_span").innerHTML = " <img src='img/check_right.gif'>"; 

        else 

    result=false; 
    document.getElementById(n+"_span").innerHTML = " <img src='img/check_error.gif'>只允许字符数字及标点符号"; 

        break; 
        
        case 'i8': 
        if(val=='www.jnha.com') 

    result=true; 
    document.getElementById(n+"_span").innerHTML = " <img src='img/check_right.gif'>"; 

        else 

    result=false; 
    document.getElementById(n+"_span").innerHTML = " <img src='img/check_error.gif'>请输入正确的验证信息"; 


    return result;
    }function checkData()
    {
    var result = true;
    for(var i=1;i<=8;i++)
    result = result && check("i"+i);

    if(result) 

    alert("ok"); 
    document.getElementById('bsend').disabled = 'false'; 

    else 

    alert("no"); 
    document.getElementById('bsend').disabled = 'true'; 

    }//调用检查数据
    checkData();
      

  8.   

    该如何处理呢?楼上的兄弟如果按你写的,我如果调用checkDate();,用什么来触发呢?
      

  9.   

    因为 执行check() 方法的时侯
    var check1 = false; 
      var check2 = false; 
      var check3 = false; 
      var check4 = false; 
      var check5 = false; 
      var check6 = false; 
      var check7 = false; 
      var check8 = false; 这8个变量最多有一个会并成 true而你的判断是用&&符号连接的, 就是说这8个变量都变成true才会执行.但这是不可能的
    if(check1 && check2 && check3&& check4&& check5&& check6&& check7&& check8) 
      { 
        alert("ok"); 
        document.getElementById('bsend').disabled = ''; 
      } 
      else 
      { 
        alert("no"); 
        document.getElementById('bsend').disabled = 'true'; 
      } 永远也不会执行 到 document.getElementById('bsend').disabled = ''; 
    所以
    1. 要改成 用|| 连接 if(check1 || check2 || check3 || check4 ||check5 ||check6 ||check7 ||check8)
    2. 9楼的方法也挺好 
      

  10.   

    其实就是一个变量的问题没有必要写一个方法来实现的.
    9 楼的改成这样就ok 了<script> 
    function check(n) 

      var checked = false; 
      var val = document.getElementById(n).value; 
      switch(n) 
      { 
        case 'i1': 
        var reg =/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i; 
        if(reg.test(val)) 
          { 
          checked =true; 
          document.getElementById(n+"_span").innerHTML = " <img src='img/check_right.gif'>"; 
          } 
        else 
          { 
          checked =false; 
          document.getElementById(n+"_span").innerHTML = " <img src='img/check_error.gif'>请输入正确的邮件地址"; 
          } 
        break; 
        case 'i2': 
        var reg =/^\w{6,}$/; 
        if(reg.test(val)) 
          { 
          checked =true; 
          document.getElementById(n+"_span").innerHTML = " <img src='img/check_right.gif'>"; 
          } 
        else 
          { 
          checked =false; 
          document.getElementById(n+"_span").innerHTML = " <img src='img/check_error.gif'>密码要求长度6位以上"; 
          } 
        break; 
        case 'i3': 
        if(val==document.getElementById('i2').value) 
          { 
          checked =true; 
          document.getElementById(n+"_span").innerHTML = " <img src='img/check_right.gif'>"; 
          } 
        else 
          { 
          checked =false; 
          document.getElementById(n+"_span").innerHTML = " <img src='img/check_error.gif'>请输入与上面相面的密码"; 
          } 
        break; 
        case 'i4': 
        var reg =/^[a-zA-Z\s]+$/; 
        if(reg.test(val)) 
          { 
          checked =true; 
          document.getElementById(n+"_span").innerHTML = " <img src='img/check_right.gif'>"; 
          } 
        else 
          { 
          checked =false; 
          document.getElementById(n+"_span").innerHTML = " <img src='img/check_error.gif'>只允许字母及空格"; 
          } 
        break; 
        case 'i5': 
        var reg =/^[-\d]+$/; 
        if(reg.test(val)) 
          { 
          checked =true; 
          document.getElementById(n+"_span").innerHTML = " <img src='img/check_right.gif'>"; 
          } 
        else 
          { 
          checked =false; 
          document.getElementById(n+"_span").innerHTML = " <img src='img/check_error.gif'>只允许数及字符号-"; 
          } 
        break; 
        case 'i6': 
        var reg =/^[-\d]+$/; 
        if(reg.test(val)) 
          { 
          checked =true; 
          document.getElementById(n+"_span").innerHTML = " <img src='img/check_right.gif'>"; 
          } 
        else 
          { 
          checked =false; 
          document.getElementById(n+"_span").innerHTML = " <img src='img/check_error.gif'>只允许数及字符号-"; 
          } 
        break; 
        case 'i7': 
        var reg =/^[,.\w\s#]+$/; 
        if(reg.test(val)) 
          { 
          checked =true; 
          document.getElementById(n+"_span").innerHTML = " <img src='img/check_right.gif'>"; 
          } 
        else 
          { 
          checked =false; 
          document.getElementById(n+"_span").innerHTML = " <img src='img/check_error.gif'>只允许字符数字及标点符号"; 
          } 
        break; 
        case 'i8': 
        if(val=='www.jnha.com') 
          { 
          checked =true; 
          document.getElementById(n+"_span").innerHTML = " <img src='img/check_right.gif'>"; 
          } 
        else 
          { 
          checked =false; 
          document.getElementById(n+"_span").innerHTML = " <img src='img/check_error.gif'>请输入正确的验证信息"; 
          } 
      } 
      if(checked ) 
      { 
        alert("ok"); 
        document.getElementById('bsend').disabled = ''; 
      } 
      else 
      { 
        alert("no"); 
        document.getElementById('bsend').disabled = 'true'; 
      } 
    }
      

  11.   

    1\如果改为if(check1 || check2 || check3 || check4 ||check5 ||check6 ||check7 ||check8),那我还验证什么呢?我就是要全部通过才能允许点提交按钮.2\
    function checkData()
    {
        var result = true;
        for(var i=1;i<=8;i++)
            result = result && check("i"+i);
        
        if(result) 
        { 
            alert("ok"); 
            document.getElementById('bsend').disabled = 'false'; 
        } 
        else 
        { 
            alert("no"); 
            document.getElementById('bsend').disabled = 'true'; 
        } 
    }这个函数里怎么可能检查另一个函数里的值呢?
      

  12.   

    lu_huanling 兄弟,我要全部合法才能提交,这样就成了只要有一个合法,就能提交了.
      

  13.   

    我后来改为这样,可还是没效果:
    <script>
    function check(n)
    {
      var check1 = false; 
      var check2 = false; 
      var check3 = false; 
      var check4 = false; 
      var check5 = false; 
      var check6 = false; 
      var check7 = false; 
      var check8 = false; 
      var val = document.getElementById(n).value; 
      switch(n)
      {
        case 'i1':
        var reg =/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i;
        if(reg.test(val))
          {
          check1=true;
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_right.gif'>";
          }
        else
          {
          check1=false;
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_error.gif'>请输入正确的邮件地址";
          }
        break;
        case 'i2':
        var reg =/^\w{6,}$/;
        if(reg.test(val))
          {
          check2=true;
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_right.gif'>";
          }
        else
          {
          check2=false;
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_error.gif'>密码要求长度6位以上";
          }
        break;
        case 'i3':
        if((val==document.getElementById('i2').value)&&(document.getElementById('i2').value!=''))
          {
          check3=true;
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_right.gif'>";
          }
        else
          {
          check3=false;
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_error.gif'>请输入与上面相面的密码";
          }
        break;
        case 'i4':
        var reg =/^[a-zA-Z\s]+$/;
        if(reg.test(val))
          {
          check4=true;
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_right.gif'>";
          }
        else
          {
          check4=false;
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_error.gif'>只允许字母及空格";
          }
        break;
        case 'i5':
        var reg =/^[-\d]+$/;
        if(reg.test(val))
          {
          check5=true;
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_right.gif'>";
          }
        else
          {
          check5=false;
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_error.gif'>只允许数及字符号-";
          }
        break;
        case 'i6':
        var reg =/^[-\d]+$/;
        if(reg.test(val))
          {
          check6=true;
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_right.gif'>";
          }
        else
          {
          check6=false;
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_error.gif'>只允许数及字符号-";
          }
        break;
        case 'i7':
        var reg =/^[,.\w\s#]+$/;
        if(reg.test(val))
          {
          check7=true;
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_right.gif'>";
          }
        else
          {
          check7=false;
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_error.gif'>只允许字符数字及标点符号";
          }
        break;
        case 'i8':
        if(val=='www.jnha.com')
          {
          check8=true;
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_right.gif'>";
          }
        else
          {
          check8=false;
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_error.gif'>请输入正确的验证信息";
          }
      }
      var check=false;
      for(var i=1;i<=8;i++)
      {
        if(document.getElementById("i"+i+"_span").innerHTML == "<img src='img/check_right.gif'>")
        {check=check&&true;}
        else
        {check=check&&false;}
      }
      if(check)
      {
        document.getElementById('bsend').disabled = '';
      }
      else
      { 
        document.getElementById('bsend').disabled = 'true'; 
      }
    }</script>
      

  14.   

    把 check[n]的初始值设为true
      

  15.   

    最新代码,但还是无法让bsend按钮可用
    <script>
    function check(n)
    {
      var val = document.getElementById(n).value; 
      switch(n)
      {
        case 'i1':
        var reg =/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i;
        if(reg.test(val))
          {
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_right.gif'>";
          }
        else
          {
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_error.gif'>请输入正确的邮件地址";
          }
        break;
        case 'i2':
        var reg =/^\w{6,}$/;
        if(reg.test(val))
          {
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_right.gif'>";
          }
        else
          {
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_error.gif'>密码要求长度6位以上";
          }
        break;
        case 'i3':
        if((val==document.getElementById('i2').value)&&(document.getElementById('i2').value!=''))
          {
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_right.gif'>";
          }
        else
          {
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_error.gif'>请输入与上面相面的密码";
          }
        break;
        case 'i4':
        var reg =/^[a-zA-Z\s]+$/;
        if(reg.test(val))
          {
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_right.gif'>";
          }
        else
          {
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_error.gif'>只允许字母及空格";
          }
        break;
        case 'i5':
        var reg =/^[-\d]+$/;
        if(reg.test(val))
          {
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_right.gif'>";
          }
        else
          {
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_error.gif'>只允许数及字符号-";
          }
        break;
        case 'i6':
        var reg =/^[-\d]+$/;
        if(reg.test(val))
          {
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_right.gif'>";
          }
        else
          {
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_error.gif'>只允许数及字符号-";
          }
        break;
        case 'i7':
        var reg =/^[,.\w\s#]+$/;
        if(reg.test(val))
          {
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_right.gif'>";
          }
        else
          {
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_error.gif'>只允许字符数字及标点符号";
          }
        break;
        case 'i8':
        if(val=='www.jnha.com')
          {
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_right.gif'>";
          }
        else
          {
          document.getElementById(n+"_span").innerHTML = "<img src='img/check_error.gif'>请输入正确的验证信息";
          }
      }
      var checked=true;
      for(var i=1;i<=8;i++)
      {
        if(document.getElementById("i"+i+"_span").innerHTML == "<img src='img/check_right.gif'>")
        {checked=checked&&true;}
        else
        {checked=checked&&false;}
      }
      if(checked)
      {
        document.getElementById('bsend').disabled = '';
      }
      else
      { 
        document.getElementById('bsend').disabled = 'true'; 
      }
    }</script>
      

  16.   

    楼主大哥,你把申明的check那一堆拿出去
    你验证是一次验证一个n,走来就全部赋值false,当然不会成功
      

  17.   

    最后解决,在后面加了一个<input type='hidden' value='false'>
    每验证一个,就把value改为true最后在历遍所有的input即可.