как из popap передать данные на страницу, откуда popap открыли

как из popap передать данные на страницу, откуда popap открыли

в документации postamessage описано как передать данные в popap, а как передать данные обратно, из popap на страницу и popap закрыть ?

нужно следующее:
открыть окно popap для ввода логина/пароля, и при нажатии "войти" обработать введенные данные, и если пользователь найден, передать данные пользователя обратно на страницу(заполнить форму), и закрыть popap

1 ответов


Отвечу на свой вопрос:

Код окна родителя, из которого открывается всплывающее окно:

<!-- Открываем новое окно -->
<a onClick="window.open('http://domen.com">Откырть новое окно</a>

<input id="inputname" value="" type="text">
<input id="inputemail" value="" type="text">
<input id="inputphone" value="" type="text">

Код во всплывающем окне:

$(document).ready(function(){
if(window.opener) {
//Массив данных
var user = array(0=>"firstname", 1=>"lastname", 2=>"phone", 3=>"email");
//Определяем окно-родитель
var w = window.opener;
//Передаем данные из массива всплывающего окна в поля ввода окна родителя
  w.$('#inputname').val(user[0]+" "+user[1]);
  w.$('#inputemail').val(user[3]);
  w.$('#inputphone').val(user[2]);
//Закрываем всплывающее окно
self.close();  
}
});
Это же можно и без jquery написать

$.ajax
Или чуть проще: $.post

Ну и всё это можно без jQ - XMLHttpRequest (рекомендуется к прочтению в любом случае)