表单验证问题
请问一下,以下的一个表单验证,用户名验证如果不通过,alert()提示信息后,在js里的return false;好像没起作用,还是会提交。以下是页面代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
Object obj = session.getAttribute("storekeeper");
if(obj != null){
response.sendRedirect("netstoreReg.jsp");
}
%>
<%@include file="include.jsp"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Welcome to Element</title>
<style type="text/css">
<!--
#Layer99 {
position:absolute;
width:703px;
height:32px;
z-index:1;
left: 330px;
top: 130px;
}
#Layer98{
position:absolute;
width:200px;
height:115px;
z-index:2;
left: 330px;
top: 167px;
}
-->
</style>
<script language="javascript">
function checkSkName(){
if(document.regform.sk_name.value==""){
window.alert("用户名不能为空!");
document.regform.sk_name.focus();
return false;
}else{
var skName=document.regform.sk_name.value;
window.open("action/checkSkName.jsp?skName="+skName, "检测账号是否可用", "toolbar=0, location=0, menubars=0,width=300,height=200,scrollbars=0,status=no,directories=no,resizable=no");
}
}
function check_dz()
{
if(document.regform.sk_name.value=="")
{
window.alert("用户名不能为空!");
document.regfrom.sk_name.focus();
return false;
}
if(document.regform.sk_name.value.length < 6)
{
window.alert("用户名不能少于6位");
document.regfrom.sk_name.focus();
return false;
}
var filter = /^\s*[.A-Za-z0-9_-]{4,16}\s*$/;
if (!filter.test(document.regform.sk_name.value))
{
window.alert("用户名填写不正确,请重新填写!可使用的字符为(A-Z a-z 0-9 _ - .)长度不小于5个字符,不超过15个字符,注意不要使用空格。");
document.regform.sk_name.focus();
document.regform.sk_name.select();
return false;
}
if(document.regform.sk_password.value == "")
{
window.alert("密码不允许为空!");
document.regform.sk_password.focus();
return false;
}
if(document.regform.sk_password.value.length < 6)
{
window.alert("密码不能少于6位");
document.regform.sk_password.focus();
return false;
}
if(document.regform.sk_password1.value == "")
{
window.alert("确认密码不允许为空!");
document.regform.sk_password1.focus();
return false;
}
if(document.regform.sk_password.value != document.regform.sk_password1.value)
{
window.alert("两次的密码不一致");
document.regform.sk_password.focus();
return false;
}
if(document.regform.sk_email.value == "")
{
window.alert("邮箱不能为空!");
document.regform.sk_email.focus();
return false;
}
var re = new RegExp("^([A-Za-z0-9_|-]+[.]*[A-Za-z0-9_|-]+)+@[A-Za-z0-9|-]+([.][A-Za-z0-9|-]+)*[.][A-Za-z0-9]+$", "ig");
if ( ! re.test(regform.sk_email.value))
{
window.alert("E-MAIL格式不正确!");
regform.sk_email.focus();
return false;
}
if(document.regform.sk_phone.value == "")
{
window.alert("联系电话不允许为空");
document.regform.sk_phone.focus();
return false;
}
if(document.regform.sk_adress.value == "")
{
window.alert("联系地址不允许为空!");
document.regform.sk_adress.focus();
return false;
}
if(document.regform.sk_IDCard.value == "")
{
window.alert("身份证号码不允许为空!");
document.regform.sk_IDCard.focus();
return false;
}
if(document.regform.sk_IDCard.value.length != 18)
{
window.alert("身份证号码不合法!");
document.regform.sk_IDCard.focus();
return false;
}
if(document.regform.sk_bankCardNum.value == "")
{
window.alert("银行账号不允许为空!");
document.regform.sk_bankCardNum.focus();
return false;
}
if(document.regform.sk_bankCardNum.value.length != 19)
{
window.alert("银行账号不合法!");
document.regform.sk_bankCardNum.focus();
return false;
}
}
</script>
</head>
<body>
<div id="Layer99">
<TABLE height=28 cellSpacing=3 cellPadding=0 width=776 align=center
border=0>
<TBODY>
<TR vAlign=bottom>
<TD> <A class=nav href="index.jsp">我的主页</A>
<FONT class=nav> > </FONT><A class=nav href="storeKeeper.jsp">我要开店</A>
<FONT class=nav> > </FONT><A class=nav>店主注册</A></TD>
</TR>
</TBODY>
</TABLE>
</div>
<div id="Layer98">
<form name="regform" method="post" action="regskResult.jsp">
<table width="499" border="1" bordercolor="#FFCCCC" align="center">
<tr bgcolor="#FF9999">
<td colspan="2" align="center">请先注册商家用户:</td>
</tr>
<tr bgcolor="#FF9999">
<td colspan="2">店主注册信息(全部必填)</td>
</tr>
<tr>
<td width="116">店主账号:</td>
<td width="367"><input type="text" name="sk_name" /><input type="button" value="检测账号" onclick="return checkSkName()"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="sk_password" /></td>
</tr>
<tr bgcolor="#FF99FF">
<td>确认密码:</td>
<td><input type="password" name="sk_password1" /></td>
</tr>
<tr>
<td>E-mail</td>
<td><input type="text" name="sk_email" /></td>
</tr>
<tr>
<td>联系电话:</td>
<td><input type="text" name="sk_phone" /></td>
</tr>
<tr>
<td>联系地址:</td>
<td><input type="text" name="sk_adress" /></td>
</tr>
<tr bgcolor="#FF99CC">
<td>身份证号码:</td>
<td><input type="text" name="sk_IDCard" /></td>
</tr>
<tr>
<td>银行账号:</td>
<td><input type="text" name="sk_bankCardNum" /></td>
</tr>
<tr>
<td>
<input type="submit" value="确认注册" onClick="return check_dz();" />
</td>
<td>
<input type="reset" value="重填" />
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
搜索更多相关主题的帖子:
表单 验证
----------------解决方案--------------------------------------------------------
<input type="submit" value="确认注册" onClick="return check_dz();" />
换成
<input type="button" value="确认注册" onClick="return check_dz();" />
然后在
function check_dz()
{
......
......
//最后 加上
document.regform.submit();
}
----------------解决方案--------------------------------------------------------
谢谢,已经解决!
----------------解决方案--------------------------------------------------------