URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 4417
[ Назад ]

Исходное сообщение
"JavaScript. Обновление окна родителя."

Отправлено Fagot , 14-Окт-06 10:03 
Здравствуйте.
Создаётся новое окно. window.open(...);
Внём вводяться значение, это значение заносится в БД, затем окно закрывается.
Как обновить главное окно, чтобы загрузить новые данные из БД?

Содержание

Сообщения в этом обсуждении
"JavaScript. Обновление окна родителя."
Отправлено Akmal , 14-Окт-06 11:15 
>Здравствуйте.
>Создаётся новое окно. window.open(...);
>Внём вводяться значение, это значение заносится в БД, затем окно закрывается.
>Как обновить главное окно, чтобы загрузить новые данные из БД?


Напр, предположим, что в главном окне надо обновить значение первого поля (form[0].elements[0]).

Тогда в новом окне надо писать (функция обработки после выбора нового значения):
...
window.opener.document.forms[0].elements[0].value=new_value;
window.close();
...


"JavaScript. Обновление окна родителя."
Отправлено rewL , 19-Окт-06 08:50 
>> window.opener.document.forms[0].elements[0].value
это когда введённые данные не влияют на что-то ещё кроме самих себя,
например на количество строчек в отчёте в основном окне.
Если зависимость сложней -- надо перегружать содержимое окна.

Можно что-то ещё в window.opener поискать

Можно попробовать showModalDialog вместо open.
Возврат из этой функции случится только по закрытию диалога.

Работает ли showModalDialog во всех браузерах -- не проверял.

А вообще, проще в одном окне делать, и чтоб сервер всё решал.


"JavaScript. Обновление окна родителя."
Отправлено Alena , 25-Ноя-06 23:46 
>Здравствуйте.
>Создаётся новое окно. window.open(...);
>Внём вводяться значение, это значение заносится в БД, затем окно закрывается.
>Как обновить главное окно, чтобы загрузить новые данные из БД?

Привет!

Можно так:
opener.window.location.reload();
window.close();



"JavaScript. Обновление окна родителя."
Отправлено Fagot , 26-Ноя-06 19:44 
>
>Привет!
>
>Можно так:
>opener.window.location.reload();
>window.close();

Привет, Алёнка :-)
Дошёл я до этого решения. Сейчас сделал, чтобы форма в этом же окне открывалась, послевыполнения ридерект обратно.