我有一张带验证码的表格。页面加载时,验证工作正常。但是用户可以使用不同的值重新加载验证码。那时jquery验证不起作用。 equalTo
函数检查该输入字段的第一个值,而不是重新加载后的最后一个值。请帮我解决。
HTML
<div class="refreshcaptcha dispinitial"><input type="text"></div>
JQuery验证
$("#hireform").validate({
ignore: ".ignore"
, errorElement: "label"
, errorClass: "has-error"
, submitHandler: function (e) {
e.submit()
}
, highlight: function (e) {
$(e).closest(".form-group").removeClass("success").addClass("has-error")
}
, rules: {
name: {
required: !0
, maxlength: 45
}
, email: {
required: !0
, maxlength: 100
}
, message: {
required: !0
, minlength: 6
, maxlength: 1500
}
, captcha: {
equalTo: $('#hireform').find('.refreshcaptcha>input')
}
}
})
答案 0 :(得分:0)
将验证码值存储为常量,刷新时更改此常量。并在验证检查catcha是否等于常量。 无需查看更多代码就无法提供帮助。
答案 1 :(得分:0)
也许使用.change()
$( "input[type='text']" ).change(function() {
alert("work")
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text">
答案 2 :(得分:0)
我找到了简单的解决方案。
equalTo
函数。或equalTo: "#cap_val_reload"
醇>
HTML
<input type="text" name="captcha" equalTo="#cap_val_reload" class="form-control captchauser" minlength="5" required maxlength="5" value="" placeholder="Please enter above value">
JQuery的
$("#hireform").validate({
ignore: ".ignore"
, errorElement: "label"
, errorClass: "has-error"
, submitHandler: function (e) {
e.submit()
}
, highlight: function (e) {
$(e).closest(".form-group").removeClass("success").addClass("has-error")
}
, rules: {
name: {
required: !0
, maxlength: 45
}
, email: {
required: !0
, maxlength: 100
}
, message: {
required: !0
, minlength: 6
, maxlength: 1500
}
, captcha: {
required: !0
equalTo: "#cap_val_reload"
}
}
})