jquery 验证不适用于隐藏字段
jquery validation not working on hidden fields
正在处理 jQuery 验证器,最初显示 none 的某些字段,因此当用户单击下一步按钮时,错误消息显示 您错过了 1 个字段。请在提交前填写 这正如我预期的那样完美。因为我给了ignore:".chk_Field",
。但是当用户单击是单选按钮时,用户可以看到更多字段。不填写任何字段如果用户单击下一步按钮仍然应该说 你错过了 5 个字段。请在提交前填写,但目前显示您错过了 1 个字段。请在提交前填写这行代码不会发生这种情况ignore:".chk_Field",
这是我的 jquery 代码
function apply_validation() {
$(".educationForm").validate({
ignore:".chk_Field",
onkeyup: false,
showErrors: function (errorMap, errorList) {
var errors = this.numberOfInvalids();
if (errors) {
var message = 'You have missed ' + errors + ' fields. Please fill before submitted.';
$errorMessageDiv.html(message);
$errorMessageDiv.show();
} else {
$errorMessageDiv.hide();
}
this.defaultShowErrors();
},
errorPlacement: function () {
return false;
},
highlight: function (element) {
if ($(element).is(':radio')) {
} else {
$(element).addClass('errRed');
$(".chk_field_hlt").addClass('errRed_chkb');
$('#imageUploadForm').addClass('errRed');
}
$(element).prevAll('label').find('span.required-star').addClass('text-error-red').removeClass('text-error-black');
},
unhighlight: function (element) {
if ($(element).is(':radio')) {} else {
$(element).removeClass('errRed');
$(".chk_field_hlt").removeClass('errRed_chkb');
}
$(element).prevAll('label').find('span.required-star').addClass('text-error-black').removeClass('text-error-red');
}
});
}
提前致谢
尝试把这行代码:
$("#expy").find(".chk_Field").removeClass("chk_Field");
这里:
$(".wrk_clp").click(function () {
if ($('input[name=rad_emp]:checked').val() == "yes") {
$expDiv.show();
$("#expy").find(".chk_Field").removeClass("chk_Field");
}
我刚刚测试过,它似乎有效。
正在处理 jQuery 验证器,最初显示 none 的某些字段,因此当用户单击下一步按钮时,错误消息显示 您错过了 1 个字段。请在提交前填写 这正如我预期的那样完美。因为我给了ignore:".chk_Field",
。但是当用户单击是单选按钮时,用户可以看到更多字段。不填写任何字段如果用户单击下一步按钮仍然应该说 你错过了 5 个字段。请在提交前填写,但目前显示您错过了 1 个字段。请在提交前填写这行代码不会发生这种情况ignore:".chk_Field",
这是我的 jquery 代码
function apply_validation() {
$(".educationForm").validate({
ignore:".chk_Field",
onkeyup: false,
showErrors: function (errorMap, errorList) {
var errors = this.numberOfInvalids();
if (errors) {
var message = 'You have missed ' + errors + ' fields. Please fill before submitted.';
$errorMessageDiv.html(message);
$errorMessageDiv.show();
} else {
$errorMessageDiv.hide();
}
this.defaultShowErrors();
},
errorPlacement: function () {
return false;
},
highlight: function (element) {
if ($(element).is(':radio')) {
} else {
$(element).addClass('errRed');
$(".chk_field_hlt").addClass('errRed_chkb');
$('#imageUploadForm').addClass('errRed');
}
$(element).prevAll('label').find('span.required-star').addClass('text-error-red').removeClass('text-error-black');
},
unhighlight: function (element) {
if ($(element).is(':radio')) {} else {
$(element).removeClass('errRed');
$(".chk_field_hlt").removeClass('errRed_chkb');
}
$(element).prevAll('label').find('span.required-star').addClass('text-error-black').removeClass('text-error-red');
}
});
}
提前致谢
尝试把这行代码:
$("#expy").find(".chk_Field").removeClass("chk_Field");
这里:
$(".wrk_clp").click(function () {
if ($('input[name=rad_emp]:checked').val() == "yes") {
$expDiv.show();
$("#expy").find(".chk_Field").removeClass("chk_Field");
}
我刚刚测试过,它似乎有效。