这个js表单我实在做的头疼,想请各位牛人助我一臂之力!小弟谢过各位!!!
<html>
<script language="JavaScript">
function init()
{document.reg_form.usrname.focus();}
function Verify()
{if(VerifyUsrName()==false)return false;
if(VerifyPasswd()==false)return false;
if(VerifyDepart()==false)return false;
if(VerifyAddr()==false)return false;
if(VerifyPersonName()==false)return false;
if(VerifyPhone()==false)return false;
if(VerifyZip()==false)return false;
if(VerifyBp()==false)return false;
if(VerifyFax()==false)return false;
if(VerifyHand()==false)return false;
if(VerifyEmail()==false)return false;
if(VerifyHomepage()==false)return false;
if(VerifyQuest()==false)return false;
if(VerifyAnsw()==false)return false;
ruturn true;
}
function VerifyUsrName()
{if(document.reg_form.usrname.value.length==0)
{alert("用户名不能为空!请见左边的说明,输入合法的用户名。");
return false;
}
if(validOfUsrName()==false)
{alert("您输入的用户名中包含了不合法的字符!请见左边的说明,重新输入.");
return false;
}
return true;
}
function validOfUsrName()
{valid=true;
for(var i=0;i<document.reg_form.usename.value.length;i++)
{var ch=document.reg_form.usrname,value.charAt(i);
if(!((ch>="0")&&(ch<="9"))&&!((ch>="a")&&(ch<="z"))&!((ch>="A")&&(ch<="Z"))&&!(ch=="_"))
valid=false;
if(!valid)
break;
}
return valid;
}
function VerifyPasswd()
{if(document.reg_form.pass.value.length==0)
{alert("密码不能为空!请见左边的说明,输入您的密码。");
return false;
}
if(document.reg.form.value!=document.reg_form.pass2.value)
{alert("您两次输入的密码不相同!请重新输入密码。");
return false;
}
return true;
}
function VerifyDepart()
{if(document.reg_form.dname.value.length==0)
{alert("单位名称不能为空!请见左边的说明进行输入。");
return false;
}
return true;
}
function VerifyAddr()
{if(document.reg_form.address.value.length==0)
{alert("联系地址不能为空!请见左边的说明进行输入。");
return false;
}
return true;
}
function VerifyPersonName()
{if(document.reg_form.person_name.value.length==0)
{alert("联系人姓名不能为空!请见左边的说明,输入合法的联系人姓名。");
return false;
}
if(validOfUsrName()==false)
{alert("您输入的联系人姓名中包含了不合法的字符!请见左边的说明,重新输入.");
return false;
}
return true;
}
function validOfUsrName()
{valid=true;
for(var i=0;i<document.reg_form.usename.value.length;i++)
{var ch=document.reg_form.usrname,value.charAt(i);
if(((ch>="0")&&(ch<="9"))&&((ch>="a")&&(ch<="z"))&((ch>="A")&&(ch<="Z"))&&(ch=="_"))
valid=false;
if(!valid)
break;
}
return valid;
}
function vaildPhone()
{if(document.reg_form.tel.value.length==0)
{alert("电话不能为空!请见左边的说明进行输入。");
return false;
}
return true;
}
function validate_email()
{with (field)
{
apos=value.indexOf("@")
dotpos=value.lastIndexOf(".")
if (apos<1||dotpos-apos<2)
{alert(alerttxt);return false}
else {return true}
}
}
</script>
<body topmargin="6">
<center><font face="隶书" size="7" color="red">用户注册</font></center>
<hr width="90%" color=blue><br>
<table border="0" align="center" onload="init()">
<tr><td valign="top"><!——对用户填写表单数据的说明——>
<table border="1" align="left" bordercolor="#0000FF" bgcolor="ivory" width="259"
style="fontsize:14px;align:left;" cellpadding=8><tr><td width="230">
<div style="color:darkred;font-size:14px"><b> 说明</b></span><br><br>
<div>★为保证您今后在本网发布的供求信息的可靠行,请您如实填写会员信息表。
</div><br>
<div>★必须填写的基本信息:用户名、密码、忘记密码后查询密码的问题、单位名称、联系人、地址、右边、电话。</div><br>
<div>★<font color=black><b>用户名</b></font>:16个字符以内的英文字母数字串,可包含下划线"_";</br>
★<font color=black><b>密码</b></font>:12个字符以内的任意字符串。</div><br>
<div>★其他信息若您具备,最好也填写,以便于联系。</div><br>
</div></td></tr></table></td>
<td valign=top align=center><!--表单输入区定义-->
<form action="reg_handle.asp"method="get" name="reg_form" onSubmit="return Verify()">
<table border=1 bordercolor="#FFD700" bgcolor="#FFF0F5" width="550"
style="font-size:12px;align:left;"cellpadding=4>
<tr><td width="550" align="left" colspan="2">
用户名 <input type="text" size=16 name="usrname">
密码 <input type="password" size="12" name="pass">
再输一遍密码 <input type=password size="12" name="pass2">
</td></tr>
<tr><td width="500" align="left" colspan="2">
单位名称 <input type="text" size="60" name="dname"></td></tr>
<tr><td width="550" colspan="2" align="left">
联系地址 <input type="text" size="60" name="address"></td></tr>
<tr><td width="550" align="left" colspan="2">
联系人姓名 <input type="text" size="12" name="person_name">
电话(区号+号码) <input type="text" size="12" name="tel">
邮编 <input type="text" size="12" name="postcode"></td></tr>
<tr><td width="500" align="left" colspan="2">
寻呼 <input type="text" size="12" name="bpcode">
传真 <input type="text" size="12" name="fax">
移动电话 <input type="text" size="12" name="hand"></td></tr>
<tr><td width="250" align="left">
E_mail<input type="text" size="30" name="email"></td>
<td width=300 align="left"> 主页<input type="text" size="40" name="homepg">
</td></tr>
<tr><td width="550" colspan="2" align="left">
忘记密码后查询时的问题 <input type="text" size="50" name="quest">
</td></tr>
<tr><td width="550" colspan="2" align="left">
忘记密码后查询的答案 <input type="text" size="50" name="answ">
</td></tr></table><br>
<input type="submit" value="发送"> <input type="reset" value="重填">
</form></td></tr></table></body></html>
[解决办法]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><script language="JavaScript">function init(){document.reg_form.usrname.focus();}function Verify(){ if(VerifyUsrName()==false)return false; if(VerifyPasswd()==false)return false; if(VerifyDepart()==false)return false; if(VerifyAddr()==false)return false; if(VerifyPersonName()==false)return false; if(VerifyPhone()==false)return false; if(VerifyZip()==false)return false; if(VerifyBp()==false)return false; if(VerifyFax()==false)return false; if(VerifyHand()==false)return false; if(VerifyEmail()==false)return false; if(VerifyHomepage()==false)return false; if(VerifyQuest()==false)return false; if(VerifyAnsw()==false)return false; return true;}function VerifyUsrName(){ if(document.reg_form.usrname.value.length==0) { alert("用户名不能为空!请见左边的说明,输入合法的用户名。");return false; } if(validOfUsrName()==false) { alert("您输入的用户名中包含了不合法的字符!请见左边的说明,重新输入.");return false; } return true;}function validOfUsrName(){ valid=true; for(var i=0;i<document.reg_form.usename.value.length;i++) { var ch=document.reg_form.usrname.value.charAt(i); if(!((ch>="0")&&(ch<="9"))&&!((ch>="a")&&(ch<="z"))&!((ch>="A")&&(ch<="Z"))&&!(ch=="_")) valid=false; if(!valid) break; } return valid;}function VerifyPasswd(){ if(document.reg_form.pass.value.length==0) {alert("密码不能为空!请见左边的说明,输入您的密码。");return false; } if(document.reg.form.value!=document.reg_form.pass2.value) {alert("您两次输入的密码不相同!请重新输入密码。");return false; } return true;}function VerifyDepart(){ if(document.reg_form.dname.value.length==0) {alert("单位名称不能为空!请见左边的说明进行输入。");return false; } return true;}function VerifyAddr(){ if(document.reg_form.address.value.length==0) {alert("联系地址不能为空!请见左边的说明进行输入。");return false; } return true;}function VerifyPersonName(){ if(document.reg_form.person_name.value.length==0) { alert("联系人姓名不能为空!请见左边的说明,输入合法的联系人姓名。");return false; } if(validOfUsrName()==false) {alert("您输入的联系人姓名中包含了不合法的字符!请见左边的说明,重新输入.");return false; } return true;}function validOfUsrName(){ valid=true; for(var i=0;i<document.reg_form.usename.value.length;i++) { var ch=document.reg_form.usrname.value.charAt(i); if(((ch>="0")&&(ch<="9"))&&((ch>="a")&&(ch<="z"))&((ch>="A")&&(ch<="Z"))&&(ch=="_")) valid=false; if(!valid) break; } return valid;}function vaildPhone(){ if(document.reg_form.tel.value.length==0) {alert("电话不能为空!请见左边的说明进行输入。");return false; } return true;}function validate_email(){ with (field) { apos=value.indexOf("@") dotpos=value.lastIndexOf(".") if (apos<1||dotpos-apos<2) { alert(alerttxt); return false } else { return true } }}</script><body topmargin="6"> <center> <font face="隶书" size="7" color="red">用户注册</font></center> <hr width="90%" color="blue"> <br> <table border="0" align="center" onload="init()"> <tr> <td valign="top"> <!——对用户填写表单数据的说明——> <table border="1" align="left" bordercolor="#0000FF" bgcolor="ivory" width="259" style="fontsize: 14px; align: left;" cellpadding="8"> <tr> <td width="230"> <div style="color: darkred; font-size: 14px"> <b> 说明</b></span><br> <br> <div> ★为保证您今后在本网发布的供求信息的可靠行,请您如实填写会员信息表。 </div> <br> <div> ★必须填写的基本信息:用户名、密码、忘记密码后查询密码的问题、单位名称、联系人、地址、右边、电话。</div> <br> <div> ★<font color="black"><b>用户名</b></font> :16个字符以内的英文字母数字串,可包含下划线"_";</br> ★<font color="black"><b>密码</b></font>:12个字符以内的任意字符串。</div> <br> <div> ★其他信息若您具备,最好也填写,以便于联系。</div> <br> </div> </td> </tr> </table> </td> <td valign="top" align="center"> <!--表单输入区定义--> <form action="reg_handle.asp" method="get" name="reg_form" onsubmit="return Verify()"> <table border="1" bordercolor="#FFD700" bgcolor="#FFF0F5" width="550" style="font-size: 12px; align: left;" cellpadding="4"> <tr> <td width="550" align="left" colspan="2"> 用户名 <input type="text" size="16" name="usrname"> 密码 <input type="password" size="12" name="pass"> 再输一遍密码 <input type="password" size="12" name="pass2"> </td> </tr> <tr> <td width="500" align="left" colspan="2"> 单位名称 <input type="text" size="60" name="dname"> </td> </tr> <tr> <td width="550" colspan="2" align="left"> 联系地址 <input type="text" size="60" name="address"> </td> </tr> <tr> <td width="550" align="left" colspan="2"> 联系人姓名 <input type="text" size="12" name="person_name"> 电话(区号+号码) <input type="text" size="12" name="tel"> 邮编 <input type="text" size="12" name="postcode"> </td> </tr> <tr> <td width="500" align="left" colspan="2"> 寻呼 <input type="text" size="12" name="bpcode"> 传真 <input type="text" size="12" name="fax"> 移动电话 <input type="text" size="12" name="hand"> </td> </tr> <tr> <td width="250" align="left"> E_mail<input type="text" size="30" name="email"> </td> <td width="300" align="left"> 主页<input type="text" size="40" name="homepg"> </td> </tr> <tr> <td width="550" colspan="2" align="left"> 忘记密码后查询时的问题 <input type="text" size="50" name="quest"> </td> </tr> <tr> <td width="550" colspan="2" align="left"> 忘记密码后查询的答案 <input type="text" size="50" name="answ"> </td> </tr> </table> <br> <input type="submit" value="发送"> <input type="reset" value="重填"> </form> </td> </tr> </table></body></html>
[解决办法]
上面只是最小的问题。。
问题超多:
1.document.reg_form.usrname.value与标签名不一致;
2.function Verify()
{
if(VerifyUsrName()==false)return false;
if(VerifyPasswd()==false)return false;
if(VerifyDepart()==false)return false;
if(VerifyAddr()==false)return false;
if(VerifyPersonName()==false)return false;
if(VerifyPhone()==false)return false;
if(VerifyZip()==false)return false;
if(VerifyBp()==false)return false;
if(VerifyFax()==false)return false;
if(VerifyHand()==false)return false;
if(VerifyEmail()==false)return false;
if(VerifyHomepage()==false)return false;
if(VerifyQuest()==false)return false;
if(VerifyAnsw()==false)return false;
return true;
}
这个函数里面有很多方法都没有。。。