我在对话框中有一个表单。当我应用函数时:
var form = $('#xxx');
form.valid()
它按预期工作,但此对话框有一个当前调用另一个对话框的按钮。第二个对话框的表单也有自己的验证。当我关闭第二个对话框,然后关闭第一个对话框并再次打开时,第一个对话框的验证,我的意思是“jquery.valid()”,不起作用。我注意到第一个对话框的“form.validate.currentelement”在调用第二个对话框之前有数据,但在调用第二个对话框后却没有。
我的部分代码
目标网页
//my first dialog
<div id="dgAddEdit" style="display: none;">
<div id="dgAddEditContent"></div>
</div>
<!-- my second dialog-->
<div id="dgVendorSearch" title="Vendor Search" class="dialogs"></div>
<div id="dgCollectible">
@using (Html.BeginForm("", "", FormMethod.Post, new { id = "" }))
{
//some html tags for the landing
}
</div>
调用对话框
$('#dgAddEdit').dialog("option", "buttons", [
{ id: "SaveButton", text: "Save", click: function () { SaveFeature(); } },
{ id: "CancelButton", text: "Cancel", click: function () { $(this).dialog("close"); } },
{
id: "VendorSearch", text: "Vendor Search", click: function () {
$("#dgVendorSearch").dialog('open');
}
}
]);
调用第一个对话框
$('#dgAddEdit').dialog("open");
答案 0 :(得分:0)
我的问题是第二个对话框引用了“jquery.valid”,这删除了第一个对话框的所有验证规则,删除此引用后所有对话框都按预期工作。