0

我正在尝试在动态填充的表单上添加验证规则,具体取决于来自后端的 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);
});

错误:未捕获的类型错误:无法读取未定义的属性“设置”

我是 JavaScript 的新手,这肯定不是最聪明的方法。没有报告 HTML,它只是一个空表单。我认为 DOM 还没有为规则选择做好准备,但我真的不知道如何处理这个问题,因为我必须使用成功回调,而且我不在 DOM 就绪函数中。欢迎任何建议!

4

2 回答 2

4

在哪里.validate()

rules("add")使用.validate().

于 2013-05-12T16:14:56.610 回答
0

我认为错误是从验证器插件引发的,

var settings = $.data(element.form, "validator").settings;

可能是“id”没有正确引用。

于 2013-05-11T15:49:04.187 回答