Как передать параметры из дочернего окна в родительское с задержкой?
Есть родительское окно. В нём стоит обычный select при изменении которого в текстовое поле подставляются выбранные значения из выпадающего списка. Всё прекрасно работает.
Потребовалось дать возможность пользователю добавлять собственные значения, а не только те, что предлагают опции выпадающего списка. Добавил в javascript if/else которые при выборе клиентской опции открывает новое окно. Окно открывается, пользователь производит какие-то действия, затем возвращает в родительское окно opener, всё возвращается, только проблема в том, что javascript уже отработал и возвращённое значение уже никому не нужно. Как быть? Вот кусок кода: var file_name = document.submit_form.file_from_select.value; if (file_name == "new") { window.open("bla-bla-bla"); } ... req.open("GET", "script.cgi?file=" + , true); Соответственно пока открывается новое окно javascript уже доходит до вызова GET, передает туда не данные из открывшегося окна (т.к. там пользователь еще не успел ничего выбрать), а "new", соответственно script.cgi такого значения не находит и нужной работы не выполняет. Какой-то таймаут ставить я не понимаю как, ведь пользователь с этим новым окном может работать и минуту и 10 минут. Как быть и есть ли вообще решение? P.S. В примерах везде приводится открытие нового окна и только после выбора в нем некоего значения возврат к родительскому. В моем же случае у javascript'а уже есть набор необходимых значений и он их обрабатывает не дожидаясь возврата. |
javascript_pupil, при таком открытии окон вы вообще можете остаться без родительского... :)
Как вариант делать "псевдоокно", т.е. обычный див, разукрашеный как окно и все действия производить в нём. Либо showModalDialog! |
Цитата:
на этом можно и остановиться: Цитата:
|
Цитата:
|
Цитата:
|
Я плохо понимаю о чем вы? У меня был и есть скрипт который работал и выполнял свою задачу. Я решил его усовершенствовать и добавил опцию, которая открывает новое окно, в котором можно указать новое название файла.
Новый файл загружается, но для того, чтобы он появился в выпадающем списке необходимо перезагрузить родительскую страницу. Этого я и хотел избежать передавая имя файла (с чем собственно скрипт и проводит манипуляции) обратно к родителю. |
Цитата:
|
Цитата:
|
Цитата:
Достаточно просто обратиться к родительскому окну из дочернего и выполнить в нём нужные преобразования. Цитата:
Может пора более радикально усовершенствовать свой "скрипт"? |
Цитата:
Т.е. мне каким-то образом надо прервать выполнение скрипта, если одно из значений выпадающего списка равно, например, "new'. После этого в новом окне определится название нового файла и через opener будет возвращено родителю. Родитель же продолжит выполнение скрипта, но уже с новым, полученным из дочернего окна значением. Если же переменная не эквивалента заданному значению, то текущий скрипт выполняется как обычно. Как это сделать (вставить доп.условие и прервать выполнение скрипта до получения нового значения) я не знаю. Пытаюсь найти ответ у специалистов по этому языку. :) |
Часовой пояс GMT +3, время: 13:07. |