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

Jquery.valid() does not work after calling a jquery.dialog

本文关键字:Jquery 不起作用 valid dialog 调用      更新时间:2024-06-20

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

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

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