Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将变量从子弹出窗口传递到父弹出窗口_Javascript_Jsp_Jsp Tags - Fatal编程技术网

Javascript 将变量从子弹出窗口传递到父弹出窗口

Javascript 将变量从子弹出窗口传递到父弹出窗口,javascript,jsp,jsp-tags,Javascript,Jsp,Jsp Tags,我有一个弹出窗口,它指向upload.jsp,它将文件上传到目录 上传逻辑写在upload.jsp中。我的问题是我想获取父弹出窗口文本字段的保存路径。子窗口有一个属性,opener,它指向打开它的窗口。如果它们都来自同一来源,则子级可以访问父级上的全局变量,如下所示: opener.globalVariable 这意味着它可以作为opener.document访问父窗口的文档,也可以使用opener.document.getElementById或opener.document.querySe

我有一个弹出窗口,它指向upload.jsp,它将文件上传到目录


上传逻辑写在upload.jsp中。我的问题是我想获取父弹出窗口文本字段的保存路径。

子窗口有一个属性,
opener
,它指向打开它的窗口。如果它们都来自同一来源,则子级可以访问父级上的全局变量,如下所示:

opener.globalVariable
这意味着它可以作为
opener.document
访问父窗口的文档,也可以使用
opener.document.getElementById
opener.document.querySelector
获取父窗口中的元素

示例:

父页面:

<!doctype html>
<html lang="en">
<body>
<input type="text"><input type="button" value="Click me">
<script>
document.querySelector("input[type=text]").value = Math.floor(Math.random() * 10000);
document.querySelector("input[type=button]").addEventListener(
  "click",
  function() {
    var wnd = window.open("popup.html");
  },
  false
);
</script>
</body>
</html>

document.querySelector(“input[type=text]”。value=Math.floor(Math.random()*10000);
document.querySelector(“输入[类型=按钮]”).addEventListener(
“点击”,
函数(){
var wnd=window.open(“popup.html”);
},
假的
);
弹出页面:

<!doctype html>
<html>
<body>
<script>
var field;
if (!opener) {
    display("Not opened as a popup");
} else {
    field = opener.document.querySelector("input[type=text]");
    display("Value is " + field.value);
}

function display(msg) {
    var p = document.createElement('p');
    p.innerHTML = msg;
    document.body.appendChild(p);
}
</script>
</body>
</html>

var场;
如果(!开启器){
显示(“未作为弹出窗口打开”);
}否则{
field=opener.document.querySelector(“输入[type=text]”);
显示(“值为”+字段值);
}
功能显示(msg){
var p=document.createElement('p');
p、 innerHTML=msg;
文件.正文.附件(p);
}

看看这个问题:谢谢你的链接……谢谢它帮助了我T.J。Crowder@ManjunathVibhooti:很高兴这有帮助。@ManjunathVibhooti:如果这回答了您的问题,那么您可以通过单击旁边的复选标记来“接受”答案。但前提是它能回答你的问题。