站西钟表城拿货价格:注册页面中的javascript问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/28 10:31:20
以下是代码,validatesignup()的作用为在客户端验证输入数据的正确性(仅为部分)问题为:为什么在客户端不验证,不执行ALERT语句,直接进入SAVES.ASP呢?

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>注册</title>
<script language="javascript">
<!--
function validatesignup()
{
var strusername=document.form1.txtusername.value;
var strpassword=document.form1.txtpassword.value;
var strconfpassword=document.form1.txtconfpassword.value;
var strrealname=document.form1.txtrealname.value;
var strsex=document.form1.txtsex.value;
var strtel=document.form1.textel.value;
var stremail=document.form1.txtemail.value;
var strhomepage=document.form1.txthomepage.value;
var primeinusername=strusername.indexOf("'");
var primeinpassword=strpassword.indexOf("'");
var primeinstrconfpassword=strconfpassword.indexOf("'");
var primeinrealname=strrealname.indexOf("'");
var primeintel=strtel.indexOf("'");
var primeinemail=stremail.indexOf("'");
var atinemail=stremail.indexOf("@");
var pointinemail=stremail.indexOf(".");
if (strusername==""){alert("请输入用户名");return false;}
if (primeinusername!=-1){alert("用户名中不能包含撇号");return false;}
if (strpassword==""){alert ("请输入密码");return false;}
if (primeinpassword!=-1){alert("密码中不能包含撇号");return false;}
if((strpassword.length)<6){alert("密码至少为6位");return false;}
if(strconfpassword==""){alert("请您确认密码");return false;}
if (strpassword!=strconfpassword){alert("两次输入的密码不一致");return false;}

}
-->
</script>
</head>

<body>
<form name="form1" method="post" action="saves.asp" onSubmit="javascript:return validatesignup();">
.......
<input type="submit" name="Submit" value="注册">
<input type="reset" name="Submit" value="重填">
</div></td>
</tr>
</table>
</form>
</body>
</html>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>注册</title>
<script language="javascript">
<!--
function validatesignup()
{
var strusername=document.form1.txtusername.value;
var strpassword=document.form1.txtpassword.value;
var strconfpassword=document.form1.txtconfpassword.value;
//var strrealname=document.form1.txtrealname.value;
//var strsex=document.form1.txtsex.value;
//var strtel=document.form1.textel.value;
//var stremail=document.form1.txtemail.value;
//var strhomepage=document.form1.txthomepage.value;
var primeinusername=strusername.indexOf("'");
var primeinpassword=strpassword.indexOf("'");
//var primeinstrconfpassword=strconfpassword.indexOf("'");
//var primeinrealname=strrealname.indexOf("'");
//var primeintel=strtel.indexOf("'");
//var primeinemail=stremail.indexOf("'");
//var atinemail=stremail.indexOf("@");
//var pointinemail=stremail.indexOf(".");
if (strusername==""){alert("请输入用户名");return false;}
if (primeinusername!=-1){alert("用户名中不能包含撇号");return false;}
if (strpassword==""){alert ("请输入密码");return false;}
if (primeinpassword!=-1){alert("密码中不能包含撇号");return false;}
if((strpassword.length)<6){alert("密码至少为6位");return false;}
if(strconfpassword==""){alert("请您确认密码");return false;}
if (strpassword!=strconfpassword){alert("两次输入的密码不一致");return false;}

}
-->
</script>
</head>

<body>
<form name="form1" method="post" action="saves.asp" onSubmit="javascript:return validatesignup();">
<input type=text name="txtusername"> <br>
<input type=text name="txtpassword"> <br>
<input type=text name="txtconfpassword"><br>
<input type="submit" name="Submit" value="注册">
<input type="reset" name="Submit" value="重填">
</div></td>
</tr>
</table>
</form>
</body>
</html>

你试一下把其中注释的//去掉,取一下并不存在的输入框的属性,再测试一下,验证就不会执行了~

onSubmit="javascript:return validatesignup()
onsumbit(好像是这个吧)