Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / HTML, JavaScript, VBScript, CSS Новый топик    Ответить
 Как правильно закрыть диалоговое окно из JavaScript  [new]
Vlad_567
Member

Откуда:
Сообщений: 99
Прошу не пинать, JavaScript только изучаю.

Есть страница, на неё при нажатии на кнопку, открывается диалоговое окно:
url='f?p=&APP_ID.:6000:&SESSION.::NO::P6000_IS_SHOWING:1';
var modalDialog=null;
modalOpen(6000,'Новые уведомления',800,600);

function modalOpen(pageNumber,windowTitle,windowWidth,windowHeight)
{
var newURL = window.location.protocol + "//" + window.location.host + "/pls/apex/f?p=" +$v('pFlowId')+":"+pageNumber+":"+$v('pInstance')+":::::";
modalDialog=apex.jQuery('<div></div>').html('<div id="P6000_IFRAME"><iframe src="' + newURL + '" height="'+(windowHeight-50)+'" width="'+(windowWidth-50)+'" style="border:0" frameborder="0" scrolling="yes" marginheight="0" marginwidth="0" status="yes" toolbar="no"></div>').dialog({autoOpen: true, modal: true,height: windowHeight,width: windowWidth,title: windowTitle});
modalDialog.dialog('open');
};
function modalClose(){
if (modalDialog!=null){
modalDialog.dialog('close');
modalDialog=null;
}
};


После этого страница, с которой открывается окно становится серой и открывается диалоговое окно.
В диалоговом окне при нажатии на свою кнопку - Закрыть, выполняется код:
Скрытие диалога:
DialogWindow = window.parent.$('.ui-dialog.ui-widget.ui-widget-content.ui-corner-all.ui-draggable.ui-resizable');
DialogWindow.css('display','none');
Убирание серого затемнения:
OverlayWindow = window.parent.$('.ui-widget-overlay');
OverlayWindow .detach();

После этого страница, с которой открывалось диалоговое окно становится как-бы не совсем активное. Текстовые поля недоступны, в них не устанавливается курсор, при наведении курсора мыши на кнопки, на кнопках появляется подсветка (как и должно быть), ссылки не работают.

Как закрыть диалоговое окно, что-бы всё работало как обычно?
закрыть его нижеуказанными методами не получается:
1. window.close();
2. close();
3. $(this).dialog('close');
4. $(this).dialog('destroy');
5. $('#dialog').dialog("close");
6. apex.jQuery.modal.close();

Используется браузер Firefox.
17 ноя 20, 08:44    [22233491]     Ответить | Цитировать Сообщить модератору
Все форумы / HTML, JavaScript, VBScript, CSS Ответить