0

当通过jquery ajax调用动态加载内容时,我陷入了无法应用验证的境地...

我到处都找到了这个解决方案,但不知道如何使用在哪里编写这段代码??

$('form').removeData("validator");
$('form').removeData("unobtrusiveValidation");
$.validator.unobtrusive.parse('form');

我的代码我之前的问题中

4

1 回答 1

2

我确实意识到这是一个老问题。但它可能对将来来这里的人有用。

这就像在成功的 ajax 请求后运行上面的代码一样简单。

$.ajax({
    url: editPageUrl,
    contentType: 'application/html; charset=utf-8',
    type: 'GET',
    dataType: 'html',
    data: { id: taskId },
    cache: false,
    success: function (data) {
        var taskBody = $('#task-body');
        $(taskBody).html(data);
        var $form = $(taskBody).find('form');
        $form.removeData("validator");
        $form.removeData("unobtrusiveValidation");
        $.validator.unobtrusive.parse($form);
    }
});

当 ajax 请求完成时,只需重置验证以使其正常工作。这样做会将所有元素添加到 jquery 验证中,并在 #taskeditform-b​​ody 内的表单上提交时触发验证

于 2014-03-25T13:03:05.547 回答