Как найти модальный диалог открытия из JavaScript? - PullRequest
1 голос
/ 25 июня 2009

У меня есть страница, которая открывает модальное диалоговое окно. После операций, выполненных в диалоге, я хочу обновить страницу открывания. Но когда я открываю всплывающее окно с помощью «openDialog», я не могу получить доступ к открывателю с помощью window.opener на всплывающей странице. Появляется «неопределенный», когда я хотел получить доступ. (Я не хочу использовать «всплывающий» метод в этом случае. Я хочу, чтобы это был диалог между прочим. Использование «всплывающего окна» - мой второй план.)

Как лучше всего избавиться от этой проблемы?

Ответы [ 5 ]

1 голос
/ 31 мая 2010

это было то, что мне нужно, что я получил по ссылке

В родительском:

parentVar = "set by parent";
vRv = window.showModalDialog("modalWindow.html",window.self, "");

В модале:

dialogArguments.parentVar = "set by modal";

PS: не забудьте установить ссылку на открывашку с помощью "window.self"

0 голосов
/ 12 апреля 2012

модальное диалоговое окно является функцией блокировки. звонящий ждет, пока ящик не закроется, затем возобновляет работу. Поэтому просто выполнить обновление в сценарии происхождения ПОСЛЕ вызова open диалог.

Например, допустим, у вас есть страница с сеткой. У вас есть кнопка добавления, чтобы открыть модальное диалоговое окно, и вам нужна сетка, чтобы обновить себя (или обновить страницу, проблема та же).

Вот псевдокод, чтобы открыть модальное диалоговое окно, а затем обновить сетку

заменить сетку. Refresh (); с любым действием, которое вы хотите выполнить, оно будет выполнено ПОСЛЕ закрытия диалогового окна.

0 голосов
/ 25 июня 2009

если вы посмотрите на https://developer.mozilla.org/En/DOM/Window.openDialog, вы увидите, что вы можете сделать диалоговое окно модальным, передав модальный аргумент, таким образом, оно не вернется до завершения диалога, тогда вы можете перезагрузить родительский параметр стр.

0 голосов
/ 25 июня 2009

Когда я использую Shadowbox, я могу получить к нему доступ.

self.parent.location.reload();

Возможно, это работает и для вас.

...