window.opener无法正常工作

时间:2014-03-13 09:49:46

标签: javascript jquery html

我正在通过单击父窗口上的图像打开弹出子窗口的网页上​​工作。

我想将子窗口文本框中的值传递给父窗口的文本框。

我找到了关于这个主题的教程并遵循了他的方法。 http://www.plus2net.com/javascript_tutorial/window-child3-demo.php 然而它对我来说并不起作用。

$(document).ready(function(){
  $("#myImg").click(function(){   
    var win1=window.open("popupWindows/p1.html","myWindow"," top=500, left=500, width=500,height=500");
    });
});

^这会打开子窗口。

function childWindowFunction()
{
opener.document.getElementById("parentTextBox").value=document.getElementById("userInput").value;
//alert(document.getElementById("userInput").value); <-- this works
//alert(opener.document.getElementById("parentTextBox").value); <-- not working at all
close();
}

^这是从子窗口执行的。

这是可执行代码。 https://www.dropbox.com/s/83hwyhbz7u4nuie/sandbox.7z

我猜opener.document.getElementById("parentTextBox").value无效。谁能告诉我什么是错的?谢谢!


忽略上面的代码。我为此创建了一个jsfiddle。 jsfiddle.net/yuyhero/6FKVM/1

我想在弹出窗口中使用按钮来执行任务,而不是使用父窗口中的获取值按钮。

现在弹出窗口内的按钮根本不起作用。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

想象一下你使用window.open创建“myWindow”,然后从“myWindow”中使用window.open来创建“windowTheSequel”。

你现在有两个“开场白”,例如原始浏览器窗口和“myWindow”。因此,如果没有子(myWindow)作为参考,开启者将不知道引用哪个窗口。

所以开始使用myWindow.opener...,您应该好好去。