【发布时间】:2016-03-31 08:54:02
【问题描述】:
我使用 jQuery 制作了模态弹出窗口。如果验证成功,我想要做的是隐藏窗口。 验证具有正确的值,但我的弹出窗口仍然在屏幕上。
这是我在 js 中的代码:
function validateAndCloseDirectDebitDialog(validationGroup, dialogID) {
var pageValid = Page_ClientValidate(validationGroup);
if (pageValid)
$(dialogID).modal("hide");
else {
return false;
}
}
所以当我在浏览器中进行调试时,我能够看到 pageValid 获得正确的值(true - 当验证良好时)它进入 if 循环,但无论如何它不会隐藏模式。
我也试过这样做:dialogID.modal("hide");since dialogID 是 jQuery 对象,但没有任何改变。
我从 ASP.NET Web 表单按钮调用此函数,如下所示:
<asp:Button runat="server" ID="btnUpdate" meta:resourcekey="btnUpdate" CausesValidation="False" OnClientClick = "validateAndCloseDirectDebitDialog('vgDirectDebitApplication' , bankInformation);" />
bankInformation 是这样定义的变量:
var bankInformation = $('#<%=bankInfoDialog.ClientID%>');
bankInfoDialog 是 div 的 ID,由模态上显示的控件组成:
<div id="bankInfoDialog" runat="server" class="modal hide fade" tabindex="-1" role="dialog">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" style="display: none">×</button>
<h1 id="bankInformationDialogHeader"><%=GetLocalResourceObject("BankInfoHeader") %></h1>
</div>
<div class="modal-body">
<ABS:BankInformation runat="server" ID="bankInformation" AllFieldsRequired="True" SetFocusOnError="False" />
</div>
<div class="modal-footer">
<asp:Button runat="server" ID="btnUpdate" meta:resourcekey="btnUpdate" CausesValidation="False" OnClientClick = "validateAndCloseDirectDebitDialog('vgDirectDebitApplication' , bankInformation);" />
<button id="btnCancel" runat="server" data-dismiss="modal" aria-hidden="true"><%=GetLocalResourceObject("Cancel")%></button>
</div>
</div>
<asp:UpdatePanel runat="server" ID="upShortAccountInfo" UpdateMode="Conditional" ChildrenAsTriggers="False" EnableViewState="True" >
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnUpdate" EventName="Click" />
</Triggers>
<ContentTemplate>
<ABS:ShortAccountInfo runat="server" ID="shortAccountInfo" />
</ContentTemplate>
</asp:UpdatePanel>
还有其他方法可以在js中隐藏模态吗?
【问题讨论】:
-
bankInformation 变量的值?
-
你是在
dialogID前面加上'#'吗?向我们展示更多代码。 -
@Hemal 我会立即用其他代码更新我的问题。
-
@MuhammadAtif 我会将其添加到我的问题中。
-
尝试使用 $('[id$=bankInfoDialog]')
标签: javascript jquery asp.net twitter-bootstrap