Я создаю диалоговые окна JQuery, и мне нужна функция закрытия, чтобы вызвать обратную передачу в родительскую форму (чтобы данные, измененные во всплывающей форме, немедленно отображались на родительском экране). У меня есть код написан и диалоговое окно на месте. Тем не менее, есть проблема. В IE, когда я закрываю всплывающее окно и происходит обратная передача, я получаю эту ошибку JavaScript, которая гласит: «Объект не поддерживает это свойство или метод», и это относится к блоку кода, который создает диалоговое окно.
Просто немного фона: страница с всплывающим окном является страницей aspx со многими областями, которые отображают информацию базы данных, которую можно изменить. Эта страница использует главные страницы. Всплывающее окно содержит фрейм, в котором я меняю источник в зависимости от того, какая кнопка нажата. Я надеялся использовать одно и то же диалоговое окно и всплывающее окно 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" />
Я пробовал много разных способов справиться с этим, большинство из них заканчивалось ошибкой javascript (выше) в файле ui.dialog в строке, начинающейся с:
$.widget('ui.dialog', ...)
или мой javascript.
Кто-нибудь может подумать, почему это происходит? Я заставил его работать (с обратной передачей), но мне пришлось убрать страницу всего, кроме раздела, над которым я работаю, но я не вижу ничего, что могло бы вызвать это.