日期:2014-05-16  浏览次数:20461 次

jQuery验证密码重复输入问题
Jsp代码如下:


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>修改密码</title>
</head>
<script src="js/jquery-1.11.0.js" type="text/javascript"></script>
<script src="js/jquery.validate.js" type="text/javascript"></script>
<script src="js/messages_cn.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#signupForm").validate({
onfocusout: function(element) { $(element).valid(); }, 
rules : {
oldPass : {
required : true,
minlength : 6,
maxlength : 20
},

newPass : {
required : true,
minlength : 6,
maxlength : 20,
equalTo : "#oldPass"
},
renewPass : {
required : true,
equalTo : "#newPass"
}
},
messages : {
oldPass : {
required : "请输入原密码",
minlength : "密码长度必须在6-20位之间",
maxlength : "密码长度必须在6-20位之间"
},

newPass : {
required : "请输入新密码",
minlength : "密码长度必须在6-20位之间",
maxlength : "密码长度必须在6-20位之间",
equalTo : "新密码不能和原密码一致"
},
renewPass : {
required : "请输入确认密码",
equalTo : "两次输入密码不一致"
}
}
});
});
</script>
<body>
<s:form action="customerModPass" method="post" id="signupForm">
<s:password name="oldPass"  key="password.old" />
<s:password  name="newPass"  key="password.new" />
<s:password  name="renewPass"  key="password.renew"/>
<s:submit key="Login.submit" name="submit" />
</s:form>

</body>
</html>

问题是:现在在输入框不管输入什么值,都提示密码重复!
------解决方案--------------------
你的文本框没有设置ID,equalTo: 后面是#开始的是根据ID取值比较的。取不到值所以一值不等。