Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: Greg от 17 Сентября 2007, 09:54:40

Название: Связь функций в разных документах
Отправлено: Greg от 17 Сентября 2007, 09:54:40
Итак, проблема в следующем: в одном документе я открываю новое окно window.open, в котором у меня генерируется текст, который нужно передать обратно в тот, документ, в ту функцию, которая открыла это окошко.

текст генерируется в форме, поэтому нужно сделать чтобы этот код передавался обратно по сабмиту формы
Название: Связь функций в разных документах
Отправлено: html_coder от 17 Сентября 2007, 12:28:01
Greg
Я правильно понимаю, что некая функция в первом документе вызывает winwow.open и именно в эту функцию ты хочешь передать текст за сабмиченный из формы открытого окна?
Название: Связь функций в разных документах
Отправлено: Greg от 17 Сентября 2007, 12:38:27
html_coder
да, именно так. но, забыл указать, все усугубляется тем, что и документ, откуда открывают новое окно, есть фрейм во фреймовом документе. собственно и новое окошко - тоже фремойвый документ! в одном из его дочерних доков и выполняется ф-я...
Название: Связь функций в разных документах
Отправлено: html_coder от 17 Сентября 2007, 15:18:14
Greg
Приатачь код, если конечно его там не очень много, если много, приложи только то, что нужно.
Название: Связь функций в разных документах
Отправлено: Spectrum.Wolf от 20 Сентября 2007, 20:38:59
Именно то что ты хочешь не получится. Данная штука возможна только с модальным диалогом, что поддерживается только IE. Модальное окно останавливает вызванный скрипт в окне пока ты не закроешь модальное окно, в твоем же случае функция не прекращает своей работы после открытия окна. Но решается задача не сложно - тебе нужно логику работы разбить на 2 функции 1 - до открытия окна, вторая - после. Т.е. когда ты в окне сгенерил текст тебе нужно вызвать функцию из открывающего окна, делается это так:
window.opener.secondFunction(\'\');
Блоком я обозначил место куда в случае необходимости подставить путь к функции (если обращаться нужно к другому фрейму), например:
window.opener.parent.secondFrameName.secondFunction(\'\');