我似乎不知道如何从代码背后触发javascript函数。
这是我在aspx页面上的javascript ..。
<script type="text/javascript">
...
function HidePopup() {
$(function() {
$("#popup").dialog("close");
});
});我有一个名为ShowPopup的类似函数,它是为LinkButton的OnClientClick事件触发的。这很管用。但是,在通过按此按钮启动的函数的末尾,我想隐藏JQuery对话框。我试过以下方法..。
ScriptManager.RegisterStartupScript(Me, Me.GetType, "HidePopup", "HidePopup();", True)和
Page.ClientScript.RegisterStartupScript(Me.GetType(), "HidePopup", "HidePopup();")我假设我需要第一个(我正在使用AjaxControlToolkit,这个特定的按钮和<div>在一个更新面板中),但这两个对话框似乎都没有隐藏。我没有错误,所以我在这里迷路了。有什么想法吗?需要更多信息吗?提前谢谢。
编辑:所以我的问题并不是javascript没有启动,我在我的alert(message)函数中添加了一个正在运行的HidePopup()函数,所以我的问题似乎就是这一行。
$("#popup").dialog("close");我的div定义为..。
<div id="popup" style="display:none;"></div>有人觉得这有什么不对吗?
发布于 2015-02-05 21:21:48
多亏了你们,我弄明白了这个问题。以防其他人在这里绊倒..。
由于我使用的是UpdatePanel,所以我必须使用ScriptManager.RegisterStartupScript(<UpdatePanelID>, <UpdatePanelID>.GetType(), "HidePopup", "HidePopup();") --记下@VeselinVasilev在函数调用中使用UpdatePanel名称的答案。
不过,最重要的是,我不得不修改实际启动弹出窗口的方法。DOM似乎失去了对对话框的引用。我创建了一个全局变量,并在创建它时将其分配给Dialog。然后,我可以使用它来显示/隐藏对话框。
var popupDialog;
function ShowPopup(message) {
$("#popup").html(message);
popupDialog = $("#popup").dialog({
title: "Working",
modal: true,
dialogClass: "no-close"
});
};
function HidePopup() {
popupDialog.dialog("close");
};如果有人发现这方面的问题或有问题,一定要告诉我。
https://stackoverflow.com/questions/28333919
复制相似问题