我正在尝试在动态填充的表单上添加验证规则,具体取决于来自后端的JSON响应。我正在使用jQuery 1.9.1和jQuery Validation插件。
function getItems(Id) {
$.ajax({
url: ...
success: function (items) {
buildForm(items);
}
error: ...
}
function buildForm(items) {
$form = $('#testForm');
$form.empty();
$.each(items, function(i, item) {
$form.append('<input type="text"' +
'id="' + item.Id + '"' +
'name="' + item.Name + '"' +
'value="' + item.Default + '"' +
' />');
$form.append('<br />');
$('#' + item.Id).rules("add", { required:true,email:true }) // error!
});
}
jQuery(function ( $ ) {
getItems(1 //just an Id);
});
错误:未捕获的TypeError:无法读取未定义的属性“设置”
我是JavaScript的新手肯定这不是最聪明的方法。 HTML没有报告,它只是一个空表格。 我认为DOM还没有为规则选择做好准备,但我真的不知道 如何处理这个,'因为我必须使用成功回调,我不在DOM准备功能。 欢迎任何建议!
答案 0 :(得分:4)
.validate()
在哪里?
在使用rules("add")
初始化插件之后的某个时间,您无法调用插件方法.validate()
。
答案 1 :(得分:0)
我认为错误是从验证器插件中引出的,
var settings = $.data(element.form, "validator").settings;
可能是'id'未正确引用。