我正在尝试在Page_Load
期间发生错误时打开信息性错误对话框。
我已经定义了对话框和初始化打开它所需的函数,如下所示:
$(document).ready(function () {
$('#errorDialog').dialog({
autoOpen: false,
height: 120,
width: 500,
draggable: false,
resizable: false,
modal: true,
title: "Error!",
open: function (type, data) {
$(this).parent().appendTo("form");
}
});
});
function showErrorPopup() {
$('#addNoteButton').hide();
$('#errorDialog').dialog("open");
}
<div id="errorDialog">
<asp:Label ID="errMessage" runat="server"></asp:Label>
<input type="button" id="Button3" onclick="closeDialog('errorDialog');"
class="inputASPButton" value="Zrušit" />
</div>
我像这样从Page_Load
打开它:
Page.ClientScript.RegisterStartupScript(typeof(Page), UniqueID, "showErrorPopup();", true);
它在执行$('#addNoteButton').hide();
时调用函数,隐藏按钮,但对话框本身永远不会显示。
任何帮助将不胜感激。
由于我看不到您包含哪些脚本库,我能提出的唯一建议是确保您包含 jQuery UI(http://jqueryui.com/download/),因为对话框小部件是该库的一部分,而不是标准的 jQuery 库。我纯粹基于这样一个事实,即您可以按预期隐藏按钮,但无法打开对话框。
http://api.jqueryui.com/dialog/
如果您的错误消息不是动态的,您可以使用此代码
Page.RegisterStartupScript("err_msg", "alert('Start Date not found!');");
我必须像这样包装我的函数调用$(function(){ showErrorPopup(); });
,然后才能显示来自RegisterStartupScript
的jquery-ui对话框。