我正在使用jquery进行表单验证。休息很好,除了确认密码字段。即使键入相同的密码,请输入相同的密码。也不会被删除。
我的脚本是:
<script type="text/javascript">
$(document).ready(function() {
$("#form1").validate({
rules: {
password: {
required: true, minlength: 5
},
c_password: {
required: true, equalTo: "#password", minlength: 5
},
email: {
required: true, email: true
},
phone: {
required: true, number: true, minlength: 7
},
url: {
url: true
},
description: {
required: true
},
gender: {
required: true
}
},
messages: {
description: "Please enter a short description.",
gender: "Please select your gender."
}
});
});
-->
</script>
在表格标签内:
<div class="form-row"><span class="label">Password</span><input type="password" name="password" class="required" id="password" /></div>
<div class="form-row"><span class="label">Confirm Password</span><input type="password" name="c_password" id="c_password" /></div>
有什么建议吗? 非常感谢你的帮助。
答案 0 :(得分:18)
您的字段没有ID属性。
在jQuery中,“#password”选择器意味着“具有值为id
的{{1}}属性的对象”
您的代码应如下所示:
'password'
答案 1 :(得分:7)
<input type="password" id="password" class="nomal required error" value="" name="cpassword">
<input type="password" equalto="#password" class="nomal required error" value="" name="cpassword">
答案 2 :(得分:2)
确保您密码的输入文字具有ID“密码”
答案 3 :(得分:2)
rules: {
未关闭。在...之后添加另一个}
:
messages: {
description: "Please enter a short description.",
gender: "Please select yor gender."
}
这与元素ID的答案一样。
答案 4 :(得分:1)
请确保同一页面中没有标记id='password'
的其他输入。
答案 5 :(得分:1)
当使用camelCase id作为密码输入时,我遇到了一些问题。我最终使用不同的'name'和'id'。
<input type="password" id="pass" placeholder="New password" name="newPassword">
<input type="password" id="pass2" placeholder="New password" name="repeatNewPassword">
<input type="email" id="inputNewEmail" name="newEmail" placeholder="New email">
<input type="email" id="repeatNewEmail" name="repeatNewEmail" placeholder="New email>
然后在JS:
rules: {
newPassword: {
minlength: 6
},
repeatNewPassword: {
minlength: 6,
equalTo: "#pass"
},
newEmail: { email: true},
repeatNewEmail: {email: true, equalTo: '#inputNewEmail'},
}
因此,请通过“name”引用输入字段,但使用“id”定义equalTo deppendency。我不确定camelCase问题,因为它工作的电子邮件输入,但根据我的经验,完全相同的密码输入命名不起作用
答案 6 :(得分:0)
if($("#newpassword").val()!== ($("#conformpassword").val())){
$('#newpasswordId').html('<font color="red">Your password does not match</font>');
$("#newpassword").val('');
$("#conformpassword").val('');
$('#newpassword').css("border", "#FF0000 solid 1px")
$('#conformpassword').css("border", "#FF0000 solid 1px")
$("#newpassword").focus();
return false;
}