Как вернуть данные из дочернего в родительское окно с помощью javascript без использования sessionStorage

Я хочу, чтобы в моем родительском окне была кнопка, которая открывает дочернее окно. Дочернее окно должно иметь текстовое поле ввода и кнопку (Именованная копия). Независимо от того, что я ввожу текст в текстовое поле дочернего окна и нажимаю кнопку «Копировать», дочернее окно должно закрыться, а введенное имя должно появиться в родительском окне.
Я пытаюсь использовать подход, описанный ниже, но не могу понять, как получить значение ввода для родителя.

p>Click the button to create a window and then display the entered name on parent window.</p>

<button onclick="myFunction()">Try it</button>

<script>
function myFunction() {
    var myWindow = window.open("", "MsgWindow", "width=200,height=200");
    myWindow.document.write("<p>This window's name is: " + myWindow.name + "</p>");
    myWindow.document.write("<br/>");
    myWindow.document.write("<input type='text' id='txtId' />");

    myWindow.document.write("<input type='button' value='Copy'/>");
    var x = localStorage.getItem(Name);
            }
    myWindow.opener.document.write("Landed to prent");
}

person inaya    schedule 17.10.2016    source источник
comment
Не уверен, но вы можете попробовать window.parent или window.top   -  person Rajesh    schedule 17.10.2016
comment
Возможный дубликат Связь между вкладками или окнами   -  person Pablo Lozano    schedule 17.10.2016
comment
Я не уверен в синтаксисе. не могли бы вы предоставить дополнительную информацию   -  person inaya    schedule 17.10.2016


Ответы (1)


Первоначально мой подход был неправильным: я пытался получить доступ к текстовому полю дочернего окна из родительского окна, тогда как я должен был делать обратное. Ниже приведен рабочий код.

Родительское окно

<!DOCTYPE html>
<html>
<body>
<input type="text" id="txtName" readonly="readonly" />
<button onclick="myFunction()">Open</button>
<script>

function myFunction() {
var win = window.open("ChildWin.htm", "_blank", "width=200,height=200");
}
</script>
</body>
</html>

Детское окно

<!DOCTYPE html>
<html>
<body>
<p>Enter name </p>  
<input type="text" id="txtbx" />
<br/><br/>
<button onclick="copyFunc()">Copy</button>
<script>
function copyFunc() {
   if (window.opener != null && !window.opener.closed) {
            var txtName = window.opener.document.getElementById("txtName");
            txtName.value = document.getElementById("txtbx").value;
        }
    window.close();
}
</script>
</body>
</html>
person inaya    schedule 18.10.2016