使用jquery和我当前的代码在克隆中进行验证。
如果用户最初点击下一个按钮而未填写任何必填字段,则显示错误消息您错过了4个字段。请在提交前填写。
如果用户单击表单中的addmore按钮,如果用户未填写任何字段,则应提示消息显示成功。
如果用户填写克隆中的任何一个字段,如果点击下一个按钮,则应该显示总您错过了7个字段。请在提交前填写。。
如果用户点击删除按钮,那么如果用户点击下一个按钮,则应该说您错过了4个字段。请在提交前填写。
用我目前的代码我已经达到了第一点而不是2,3,4我很困惑请帮助我。我在苦苦挣扎
这是jquery代码
$(document).ready(function () {
$('.error_msge').hide();
$("#basicForm").validate({
onkeyup: false,
showErrors: function (errorMap, errorList) {
var errors = this.numberOfInvalids();
if (errors) {
var message = errors == 1 ? 'You missed 1 field. It has been highlighted' : 'You have missed ' + errors + ' fields. Please fill before submitted.';
$("#error_message").html(message);
$(".error_msge").show();
} else {
$(".error_msge").hide();
}
this.defaultShowErrors();
},
errorPlacement: function () {
return false;
},
highlight: function (element) {
if ($(element).is(':radio')) {
} else {
$(element).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');
}
$(element).prevAll('label').find('span.required-star').addClass('text-error-black').removeClass('text-error-red');
},
rules: {
txt_Jbt: "required",
txt_Empl: "required",
txt_Fdob: "required",
txt_Tdob: "required"
}
});
这是fidde Link
请帮助我
提前致谢
答案 0 :(得分:1)
检查您在jsfiddle中使用的代码。克隆元素具有相同的name属性<input name="**">
值。 Validator将它视为一个字段,尽管它们不同。除此之外,我还根据类名分配了规则。如果这是您的预期行为,请告诉我。
....
$clone.find('[id]').each(function () {
this.id += '_' + $('.cloned-row3').length + 1
this.name += '_' + $('.cloned-row3').length + 1
});
....
编辑1: