调用jquery.dialog后,Jquery.valid()不起作用

时间:2016-04-13 21:25:15

标签: javascript jquery-dialog

我在对话框中有一个表单。当我应用函数时:

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");

1 个答案:

答案 0 :(得分:0)

我的问题是第二个对话框引用了“jquery.valid”,这删除了第一个对话框的所有验证规则,删除此引用后所有对话框都按预期工作。