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