如何使用javascript从子窗口返回数据而不使用sessionStorage

时间:2016-10-17 07:27:43

标签: javascript window.open

我希望我的父窗口具有打开子窗口的按钮。子窗口应该有一个输入文本框和一个按钮(命名复制)。无论我在子窗口文本框中输入文本并单击“复制”按钮,子窗口都应关闭,输入的名称应显示在父窗口上。
我正在尝试下面的方法,但无法理解如何检索父项的输入值。

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");
}

1 个答案:

答案 0 :(得分:2)

最初我的方法不正确是我试图从父窗口访问子窗口textBox,而我应该做反向。以下是工作代码。

父窗口

<!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>