这是我按照书上写的代码
结果老是提示错误
错误代码如下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>
真的很希望有哪位大神能帮小弟解决下
谢谢了
这一天都浪费在这个代码中了
结果老是提示错误
错误代码如下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寫成L了
document.form1.passname2.value
alert("您输入的密码不合法!");
return false;
}
if(document.form1.passname.value!=document.forml.passname2.value){
alert("确认密码不一致!");
return false;
}
把1写成L了