我有一个带链接的jsp页面。
<a href="PopUp.jsp" target="_blank" id="popUp">View</a>
单击链接后,PopUp.jsp将在另一个窗口中打开。
我想用第一个jsp中的值填充此窗口。
实施例: Parent.jsp
<input type="text" id="name"/>
<input type="text" id="city"/>
<a href="PopUp.jsp" target="_blank" id="popUp">View</a>
PopUp.jsp
<script>
function setThis(){
document.getElementById("pname").value=document.getElementById("name").value;
document.getElementById("pcity").value=document.getElementById("city").value;
}
</script>
<body onload="setThis();">
<input type="text" id="pname"/>
<input type="text" id="pcity"/>
</body>
我无法弄清楚它为什么不起作用。我的代码有问题吗?
答案 0 :(得分:1)
您可以使用window.open
方法并使用其返回的对象来访问新窗口实例。返回的对象可用于访问新窗口的属性和方法,前提是它符合Same origin策略安全性要求。
假设您已将jQuery加载到您的页面(如果没有,您可以使用vanilla javascript将点击事件连接到您的代码。使用onclick
事件)
$(function(){
$("#popUp").click(function(e){
e.preventDefault();
var url="url to the new page here";
var newWindow = window.open(url);
var pname="read from this page";
var pcity="read from this page";
newWindow.setThis(pname,pcity);
});
});
更新您的setThis
以接受这些值
function setThis(pname,pcity)
{
.// do something
}