if(document.table_name.user_name.value =="")
==>
if(eval("document."+ table_name +"."+ user_name).value =="")onsubmit="return check_login(frmLogin,UserName,PassWord)
==>
onsubmit="return check_login('frmLogin','UserName','PassWord')"JS代码块两端加上<script language=javascript> .... </script>

解决方案 »

  1.   

    再改了一下:<html>
    <head>
    <script>
    function check_login()
    {
      with(document.frmLogin)
      {
        var getValue = UserName.value.toLowerCase();
        var getPwd = PassWord.value;
        
        if(UserName.value =="")
        {
          alert("用户名不能为空,请输入用户名!");
          UserName.focus();
          return false;
        }
        if(PassWord.value =="")
        {
          alert("密码不能为空,请输入密码!");
          PassWord.focus();
          return false;
        }
        if ((getValue.length<3)||(getValue.length>12))
        {
          alert ("用户名应该在3-12个字符之内!");
          return false;
        }
        if ((getPwd.length<6)||(getPwd.length>20))
        {
          alert ("密码应该在6-20个字符之内!");
          return false;
        }
        if(/[^\w]/g.test(PassWord.value))
        {
          alert ("用户名只能是英文、数字以及下划线组成!");
          return false;
        }
      }
      return false
    }
    </script>
    </head>
    <body>
    <table width="56%" border="0" cellpadding="0" cellspacing="0" bordercolorlight="#FFFFFF">
      <form method="post" name="frmLogin" action="checklogin.asp" onsubmit="return check_login()">
        <tr> 
          <td>用户名:</td>
          <td> <input type="text" name="UserName"> </td>
        </tr>
        <tr> 
          <td>密码:</td>
          <td> <input type="text" name="PassWord"> </td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input type="radio" name="UserType" value="person">
            个人用户
            <input type="radio" name="UserType" value="enterprise">
            企业用户</td>
        </tr>
        <tr> 
          <td>&nbsp;</td>
          <td> <input type="submit" name="Submit" value="登录"> <input type="button" name="Submit2" value="注册"> 
          </td>
        </tr>
        
      </form>
    </table>
    </body>
    </html>
      

  2.   

    Sorry! 最后那个 return false 改成 return true
      

  3.   

    你返回的变量太多了。其实就用:onsubmit="return check_login()"或者onsubmit="return check_login(this)"然后,在验证程序中,可以用全路径:
    document.frmLogin.UserName.value
    document.frmLogin.PassWord.value
    最后一个一个的判断,就不会出现什么问题。
    都符合要求后,就return true