<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>表单输入验证示例</title>
<script language="javascript" type="text/javascript">
function validate()
{
var useName=document.forms[0].useName.value;
var password=document.forms.[0].password.value;
var rePassword=document.forms.[0].rePassword.value;
if(userName.length<=0)
   alert("用户名不能为空!");
else if(password<=0)
   alert("密码不能为空!");
else if(rePassword.length<=0);
   alert("重新输入密码不能为空!"); 
else  if(userName.length<6)
   alert("用户名不能小于6位!");
else  if(password!=rePassword)
   alert("两次输入密码不一样!");   
else  {
alert("验证通过,表单可以提交!");
document.forms[0].submit();
}
</script>
</head><body>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <label>用户名:
  <input type="text" name="useName" />
  <br />
  <br />
  密  码:
  <input type="password" name="password" />
</label>
  <p>重新输入密码:<input type="password" name="rePassword" /></p>
  <p>性别:
    <label>
    <input type="radio" name="sex" value="男" />
    </label>
  男
  <label>
  <input type="radio" name="sex" value="女" />
  女</label>
  </p>
  <p>出生日期:
    <label>
    <select name="birth">
<option value="0">-请选择-</option>
 <option value="1981">1981</option>
 <option value="1982">1982</option>
 <option value="1983">1983</option>
 <option value="1984">1984</option>
 <option value="1985">1985</option>
  <option value="1986">1986</option>
  <option value="1987">1987</option>
    </select>年<br />
    </label>
  </p>
  <p>兴 趣:
    <label>
    <input type="checkbox" name="habit" value="1" />
    音乐    </label>
    <input type="checkbox" name="habit" value="2" />
    动漫
    <input type="checkbox" name="habit" value="3" />
  电影</p>
  <p>&nbsp;</p>
  <input type="button" value="提交" onclick="validate()" />
  <input type="reset" value="取消" />
</form>
</body>
</html>
为什么在浏览器中会报错?提示错误信息是
行71
字符1
错误:缺少对象
代码:0
那位大侠帮忙解决一下,小弟刚刚开始学习JavaScript!谢谢!

解决方案 »

  1.   

    <form action="" method="post" enctype="multipart/form-data" name="form1" id="form1"> 
      

  2.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
    <title>表单输入验证示例 </title> 
    <script language="javascript" type="text/javascript"> 
    function validate() { 
    var useName = document.forms[0].useName.value ; 
    var password = document.forms[0].password.value ; 
    var rePassword = document.forms[0].rePassword.value ; 
    if(useName.length <=0) {
       alert("用户名不能为空!") ; 
    }else if(password.length <=0){ 
       alert("密码不能为空!") ; 
      }else if(rePassword.length <=0){ 
       alert("重新输入密码不能为空!") ; 
    }else if(useName.length<=6){ 
        alert("用户名不能小于6位!") ; 
      }else if(password != rePassword){ 
       alert("两次输入密码不一样!") ;  
    }else { 
    alert("验证通过,表单可以提交!") ;
    document.forms[0].submit() ; 
      }

    </script> 
    </head> <body> 
    <form action="" method="post" name="form1" id="form1"> 
      <label>用户名: 
      <input type="text" name="useName" /> 
      <br /> 
      <br /> 
      密  码: 
      <input type="password" name="password" /> 
    </label> 
      <p>重新输入密码: <input type="password" name="rePassword" /> </p> 
      <p>性别: 
        <label> 
        <input type="radio" name="sex" value="男" /> 
        </label> 
      男 
      <label> 
      <input type="radio" name="sex" value="女" /> 
      女 </label> 
      </p> 
      <p>出生日期: 
        <label> 
        <select name="birth"> 
    <option value="0">-请选择- </option> 
    <option value="1981">1981 </option> 
    <option value="1982">1982 </option> 
    <option value="1983">1983 </option> 
    <option value="1984">1984 </option> 
    <option value="1985">1985 </option> 
      <option value="1986">1986 </option> 
      <option value="1987">1987 </option> 
        </select>年 <br /> 
        </label> 
      </p> 
      <p>兴 趣: 
        <label> 
        <input type="checkbox" name="habit" value="1" /> 
        音乐    </label> 
        <input type="checkbox" name="habit" value="2" /> 
        动漫 
        <input type="checkbox" name="habit" value="3" /> 
      电影 </p> 
      <p>&nbsp; </p> 
      <input type="button" value="提交" onclick="validate()" /> 
      <input type="reset" value="取消" /> 
    </form> 
    </body> 
    </html> 
      

  3.   

    else  if(userName.length <6) 
      alert("用户名不能小于6位!"); 
    分号貌似是中文的。
      

  4.   

    小错误先不说了,最关键的是:
    <input type="button" value="提交" onclick="validate()" /> 
    ------------>应该有返回值:
    <input type="button" value="提交" onclick="return validate();" /> 相应的,validate()函数里每个alert()后面也要return false;不然后的话,即使验证出问题来,表单还是会提交的
    <script language="javascript" type="text/javascript">
    function validate()
    {
    var useName=document.forms[0].useName.value;
    var password=document.forms.[0].password.value;
    var rePassword=document.forms.[0].rePassword.value;
    if(userName.length <=0)
      alert("用户名不能为空!"); return false;
    else if(password <=0)
      alert("密码不能为空!"); return false;
    ..................
    .............