【发布时间】:2016-02-16 19:35:36
【问题描述】:
Jquery validate 验证 DOM 中已经存在的表单字段以及动态添加的字段。但是如果不是动态添加的字段通过验证,表单提交忽略动态添加的字段。
这是我的代码:
$('#milestone-form').validate({ // initialize the plugin
rules: {
"milestone[]": {
required: true,
minlength: 3,
},
"deadline[]": {
required: true,
minlength: 3,
},
"amount[]": {
required: true,
minlength: 2,
},
},
submitHandler: function(form) {
var data = $("#milestone-form").serialize();
$.ajax({
type:"POST",
url:"ajax/scripts/crt_ms.php",
data:data,
success:function(data){
if(!data){alert("Something went wrong")}else{alert("Success")}
$(document).off();
},
});
},
});
//Validation End
$(document).on('click', ".add", function(){
$(flieds).insertAfter($(this).closest("#fields"));
$('.field').each(function() {
$(this).rules('add', {
required: true,
});
});
});
$(".save-ms").click(function(){
if($('#milestone-form').valid()){
//$("#milestone-form").submit();
alert("POSTED");
return false;
} else { alert("ERROR");}
});
我所有的<input> 元素都有一个class=".field" 属性。
另外,我注意到一件事,所有动态字段都没有得到错误 LABEL,而是只有一个类将其定义为无效。
我一整天都在尝试这样做,但没有发生。
【问题讨论】:
标签: javascript jquery validation