javascript 父窗口、子窗口传值问题

javascript父子窗口传值其实很简单,主要就是涉及到一个怎么找到子窗口,怎么找到父窗口的问题。

 

先说一下子窗口,子窗口通过window.open()方法创建,创建完毕其实是有返回值的,这个返回值就是子窗口了。

 

var child = window.open(...);

 

这样“child”就是子窗口,于是就可以通过下面方式操作子窗口:

 

win.document.getElementById("child").value = .....;

 

子窗口创建以后,找父窗口也很简单:window.opener就代表父窗口,于是我们可以:

 

window.opener.document.getElementById("parent").value = ...;

 

上面说的都是操作dom,调用函数也一样:

 

win.childFunction();

window.opener.parentFunction();

 

好了下面是具体的代码例子,大家可以下载看一下。

 

ps:上次研究过这个问题了,不过未记录,结果换系统的网页丢失了,重新找有用了不少时间,因此在这里记录一下。

 

-------------

 

如果打开的窗口参数比较多,可以通过form提交到子窗口来完成,首先打开一个空白窗口,然后将form的target只想child窗口,然后就可以submit了。

 

child = window.open("");

form.target = child;

form.submit();

 

----------------

 

折腾了一顿,发现通过form新窗口打开的页面,本身两个页面就是父子关系,唯一的缺点就是父窗口没有办法找到子窗口,但是子窗口可以通过window.opener找到父窗口.......

你可能感兴趣的:(JavaScript)