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

标签 javascript jsp jsp-tags

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

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

最佳答案

子窗口有一个属性opener,它指的是打开它的窗口。如果它们来自同一来源,则子级可以像这样访问父级的全局变量:

opener.globalVariable

这意味着它可以作为 opener.document 访问父窗口的文档,因此可以使用 opener.document.getElementByIdopener.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>

弹出页面:

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

关于javascript - 将变量从子弹出窗口传递到父弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30837460/

相关文章:

javascript - 带有背景图像的 jQuery 淡入

javascript - 打开 iframe 并折叠整个页面

javascript - 如何通过JSP获取javascript的返回值?

eclipse - 如何在 Eclipse 中的 JSP/JSP 标签中获取 EL(表达式语言)内容辅助(自动完成)?

spring - 扩展spring表单标签库属性

javascript - 如何在 Extjs 单页应用程序中添加谷歌分析事件跟踪?

javascript - jquery - 如何向此 jquery 代码库添加警告消息?

java - JSP EL 中 LENGTH[...] 和 fn :length(. ..) 的区别

jsp - Adobe cq 5.5 具有拖放图像功能的对话框

spring Controller 中的 java.lang.StackOverflowError