问题描述
||
这个问题已经在这里有了答案:
解决方法
您应该考虑阅读此问题及其答案
, 在本主题中研究有关ajax加载的表单验证的时间过长,唯一有助于解决我的问题的解决方案是此讨论线程:
http://forums.asp.net/p/1651961/4391703.aspx?Re+Unobtrusive+validation+not+working+on+form+loaded+by+Ajax
加载新表单后,调用以下行。如果新表单在jquery对话框中,则在打开对话框后调用它。
$.validator.unobtrusive.parse(\"#myAjaxLoadedFormId\");>
, 您需要在html内部包含以下内容后重新运行验证脚本。
我有同样的问题。当我在页面加载时从服务器加载表单验证时,表单验证有效,但是ajax验证消失之后。因此,将表单嵌入到html之后,我添加了此代码,并且可以正常工作。
$(\'#myform\').validate({
submitHandler: function(form) {
formData = $(form).serialize();
$.ajax({
type: \"POST\",url: form.action,data: formData,dataType: \"html\",cache: false,success: function (data) {
$(\'#myformdiv\').html(data);
$.getScript(\"/Scripts/jquery.validate.unobtrusive.js\");
},error: function (xhr,status,error) {
alert(xhr.responseText);
}
});
return false;
}
});