Передача значения из дочернего окна в родительский - PullRequest
0 голосов
/ 13 ноября 2009

Вот мой сценарий: у меня есть родительская веб-страница, в моем коде JavaScript я открываю новое окно. Это новое окно - страница ASPX на стороне сервера. Эта дочерняя страница должна сохранить некоторые данные в базе данных и после сохранения возвращает идентификатор. Теперь мне нужно передать этот идентификатор со страницы дочернего сервера в родительский javascript.

По сути, мне нужен код дочернего сервера для запуска: 1) вернуть значение в код JavaScript родительской страницы 2) закрой себя

Каков был бы приемлемый способ сделать это?

Ответы [ 2 ]

1 голос
/ 13 ноября 2009

Установить переменную на родительской странице:

var dbID;

Когда вызов БД возвращается из открытого окна, поместите его в событие загрузки открытого окна (или событие готовности, если используется jquery или другая структура):

window.opener.dbID = <%= newID %> 
// or whatever your framework's technique is for this :-)
window.close();

Вы также можете вызывать глобальную функцию для родителя, используя ту же технику.

На «родительской» странице:

function handleNewDBID(dbID) { alert("lookit me, i got an ID! " + dbID); }

А в открывшемся окне:

window.opener.handleNewDBID(<%=newID%>);
0 голосов
/ 13 ноября 2009

Если вы находитесь в дочернем окне И предполагаете, что у вашего родительского окна есть объект childResult :

window.opener.childResult = "yourIdHere";
...