这是我按照书上写的代码
结果老是提示错误
错误代码如下SCRIPT5007: Unable to get value of the property 'passname2': object is null or undefined 然后源代码如下<html>
  <title>右键菜单</title>
  <head>
    <script language="JavaScript">
  function trim(str){
    var t=str.replace(/(^\s*)|(\s*$)/g,"");  //用正则表达式将前后空格用空字符串替代
    return t.replace(/(^ *)|( *$)/g,"");
    }
  var xmlHttp;
  function createXMLHttpRequest(){
    if(window.ActiveXObject){
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    else if(window.XMLHttpRequest){
           xmlHttp=new XMLHttpRequest();
   }
    }
  function validate(){
    createXMLHttpRequest();
    var name=document.getElementById("username").value;
    var pass=document.getElementById("passname").value;
    var mailname=document.getElementById("mailname").value;
    var str="name="+name+"&pass="+pass+"&mailname="+mailname;
    var url="zhuce1.jsp";
    xmlHttp.open("POST",url,true);
    xmlHttp.onreadystatechange=callback;
    xmlHttp.setRequestHeader("Contetn-Type","aplication/x-www-form-urlencoded");
    xmlHttp.send(str);
    }
  function callback(){
    if(xmlHttp.readyState==4){
      var s=xmlHttp.responseText;
      if(trim(s)==1){
alert("用户注成功,即将转向首页");
    clear();
}
      if(trim(s)==2){
var ta="<font color='red'>该名称在数据库中已存在,请重新输入</font>"
     document.getElementById("res").innerHTML=ta;
document.getElementById("username").value="";
}
      }
    }
  function clear(){
    document.getElementById("username").value="";
    document.getElementById("passname").value="";
    document.getElementById("passname2").value="";
    document.getElementById("mailname").value="";
    }
  function checkPassword(e){
    var ok="1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_.-";
    for(var i=0;i<e.length;i++){
      if(ok.indexOf(e.charAt(i))<0){
   return false;
}
      }
    return true;
    }
  function checkEmail(e){
    var ok="1234567890qwertyuiopasdfghjklzxcvbnm[].+@-_QWERTYUIOPASDFGHJKLZXCVBNM";
    for(var i=0;i<e.length;i++){
      if(ok.indexOf(e.charAt(i))<0){
return false;
}
      }
    if(e.indexOf("@")<=0){
      return false;
      }
    if(e.indexOf(".")<=0){
      return false;
      }
    if(e.indexOf("@")>e.lastIndexOf(".")){
      return false;
      }
    return true;    
    }
      function validate_form(){
    if(document.form1.username.value==""){
      alert("昵称不能为空!");
      return false;
      }
    if(bytelength(document.form1.username.value)<1||bytelength(document.form1.username.value)>20){
      alert("您输入的昵称不合法!");
      return false;
      }
    if(document.form1.passname.value==""){
      alert("输入密码不能为空!");
      return false;
      }
    if(checkPassword(document.form1.passname.value)==false){
      alert("您输入的密码不合法!");
      return false;
      }
    if(bytelength(document.form1.passname.value)<6||bytelength(document.form1.passname.value)>16){
      alert("您输入的密码不合法!");
      return false;
      }
    if(document.form1.passname.value!=document.forml.passname2.value){
      alert("确认密码不一致!");
      return false;
      }
    if(document.form1.mailname.value==""){
      alert("电子邮件不能为空!");
      return false;
      }
    if(checkEmail(trim(document.form1.mailname.value))==false){
      alert("您输入的Email不合法!");
      return false;
      }
    return false;
    }
   function bytelength(szString){
     return szString.replace(new RegExp("[^\x00-\xff]","g")," ").length;
     }
   function reg(){
     if(validate_form()==false)
       return;
     validate();
     }
</script>
  </head> 
<h3 align=center>用户注册</h3>
<table border="1" width="80%" align="center">
  <form name="form1" method="post">
    <tr>
      <td width="26%">昵称:</td>
      <td><input name="username" id="username"><div id="res"></div>允许输入汉字,长度为1-20个字符</td>
    </tr>
    <tr>
      <td>密码:</td>
      <td><input type="password" name="passname" id="passname">由数字、字母(区分大小写)、减号、
点或下划线组成,长度为6-16位</td>
    </tr>  
    <tr>
      <td>确认密码:</td>
      <td><input type="password" name="passname2" id="passname2"></td>
    </tr>
    <tr>
      <td>E-mail地址</td>
      <td><input name="mailname" id='mailname' value="[email protected]"></td>
    </tr>
    <tr>
      <td><input type="button" value="提交" onclick="reg()"/></td>
      <td><input type="reset" value="重填"/></td>
    </tr>
  </form>
</table>
<div id="dispaly"></div> 
</html>
真的很希望有哪位大神能帮小弟解决下
谢谢了
这一天都浪费在这个代码中了

解决方案 »

  1.   


    --你把1寫成L了
    document.form1.passname2.value
      

  2.   

      if(bytelength(document.form1.passname.value)<6||bytelength(document.form1.passname.value)>16){
      alert("您输入的密码不合法!");
      return false;
      }
      if(document.form1.passname.value!=document.forml.passname2.value){
      alert("确认密码不一致!");
      return false;
      }
    把1写成L了
      

  3.   

    撸主先学习一下JavaScript的一些常用方法再开始抄代码比较有效果。