【发布时间】:2009-11-18 15:34:29
【问题描述】:
我正在创建 JQuery 对话框,并且需要关闭功能来回发到父表单(以便弹出表单中更改的数据立即显示在父屏幕上)。我已经编写了代码并且对话框就位。但是,有一个问题。在 IE 中,当我关闭弹出窗口并发生回发时,我收到此 javascript 错误,指出“对象不支持此属性或方法”,它指的是创建对话框的代码块。
只是一些背景:带有弹出窗口的页面是一个 aspx 页面,其中有许多显示可以更改的数据库信息的区域。此页面使用母版页。弹出窗口包含一个 iframe,我根据单击的按钮更改其来源。我希望对我们拥有的许多弹出表单使用相同的对话框和弹出 div。
这里是javascript。它位于 $(document).ready 部分:
//Source of IE error
$("#popup").dialog({
bgiframe: true,
resizable: false,
height: 217,
modal: true,
autoOpen: false,
close: function()
{
$('#aspnetForm').submit(); //Submit the parent form to cause postback
}
});
$("#BHSubmitBtn").click(function()
{
var splitChar = $("#ctl00_Main_splitCharacter");
var queueId = $("#ctl00_Main_queueId");
var siteName = $("#ctl00_Main_siteName");
var queryString = "Add" + splitChar + siteName + splitChar + queueId;
$("#popupFrame").attr('src', 'BusinessHoursSubForm.aspx?var1=' + queryString);
$("#popup").dialog('open');
});
这是我弹出的 div:
<div id="popup" title="Business Hours" >
<iframe id="popupFrame" src=""></iframe>
</div>
这是打开表单的按钮:
<input class="clsSubmitBtn" id="BHSubmitBtn" type="button" value="Add" />
我尝试了许多不同的方法来处理这个问题,大多数都以 ui.dialog 开头的行中的 javascript 错误(上述错误)结束:
$.widget('ui.dialog', ...) 或我的 javascript。
谁能想到为什么会这样?我已经让它工作了(使用回发),但我不得不剥离除我正在处理的部分之外的所有页面,但我看不到任何会导致它的东西。
【问题讨论】:
标签: jquery popup postback asp.net