首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

怎样在父关闭一个(window.open)子窗口

怎样在父关闭一个(window.open)子窗口
window.open('url.htm','windowname'),比如关闭windowname这个窗口,最好能让url.htm内一个表单提交,谢谢!
昵称: leinchu  时间: 2004-05-21 17:44:00
弄个 close() 让它自己关闭、提交。
昵称: Dummy  时间: 2004-05-21 19:08:00
<input type="button" id="c" value="关闭">
<script>
win=window.open("about:blank","win","height=300,width=300");
function c.onclick()
{
    win.close();
}
</script>

至于提交后的关闭。你可以在提交后转向的页面里写上window.close()
这样确定了到达提交页面后,也就关闭了窗口
昵称: longhorn  时间: 2004-05-21 21:21:00
谢谢,GG!
昵称: leinchu  时间: 2004-05-22 14:28:00
如果让子窗口关闭的同时又要父窗口刷新又该怎么写呢?
昵称: soya  时间: 2004-05-26 18:17:00
父窗口中location.reload();

或者是子窗口中window.opener.location.reload();
昵称: longhorn  时间: 2004-05-26 19:58:00
一直没有搞清window对象,因为用得不多,也没下工夫去认真学习。能通过论坛学习真是高兴。。。。
再问些问题,,有parent这个属性吗?opener就只是指打开这个子窗口的页面还是所有打开的页面,,,我是根据字面意思来理解的。
昵称: soya  时间: 2004-05-27 12:25:00
parent是用于框架的,引用父框架。。。。
昵称: Ivony  时间: 2004-05-27 13:10:00
oo,原来是这样的。。。OK。学到。
昵称: soya  时间: 2004-05-27 13:36:00
对了,还有个问题,,,有点不好意思了,不过不耻下问,,,不问以后还是不知道。。。window好象不是JS里的,那是属于哪里的,,跟他类似的对象还有什么。。。
昵称: soya  时间: 2004-05-27 15:50:00
window 和 document是 js里的两大顶层对象。

其他的form,button ,img ,都是这两大对象中的子对象,所以你要引用这些对象时,是按层次引用的
昵称: longhorn  时间: 2004-05-27 15:58:00


QUOTE:
最初由 longhorn 发布
[B]window 和 document是 js里的两大顶层对象。

其他的form,button ,img ,都是这两大对象中的子对象,所以你要引用这些对象时,是按层次引用的 [/B]
document是window的子对象,但可以省略window引用。。。。

DHTML中一些特殊的对象的绝对路径:

window.document
window.event
window.document.body
window.setTimeout
window.setInterval
window.history
window.location/window.document.location
window.clipboardData
window.frames/window.document.frames
window.self
window.screen
昵称: Ivony  时间: 2004-05-27 23:50:00
楼上的定义是正确的
昵称: longhorn  时间: 2004-05-28 00:42:00
window.document
window.setTimeout
window.setInterval
window.self

这几个是经常省略window的,但并不是所有window的子对象的都可以省略window,一般说来,window的容器性质的子对象,是可以省略window的。

window.document.body
这个对象粉有用哦。。。。。不知道怎么引用的同学赶快记下来。。。。
昵称: Ivony  时间: 2004-05-28 01:46:00
记下,,打印先,,,
还得继续学习。。。
昵称: soya  时间: 2004-05-28 09:31:00


QUOTE:
最初由 longhorn 发布
[B]window 和 document是 js里的两大顶层对象。

其他的form,button ,img ,都是这两大对象中的子对象,所以你要引用这些对象时,是按层次引用的 [/B]
windows 和 document有什么区别?
另外有一个问题:
我的新窗口是通过一个名叫mainFrame所包含的网页上的超连接打开的一个模态窗口。我怎么在打开的窗口,和mainFrame所包含的网页中进行表单之间的传值?
演示:http://worm2008.51j.cnj/ttt/frame.php

如何把新窗口中的值添到父窗口的文本框中?
昵称: wormbaby  时间: 2004-05-28 12:44:00
window(不是windows)是最顶层对象。

我的理解是,
它就是指代你打开的窗口上的所有元素的集合。
document是它的下属对象。指代页面中的文档部分。
昵称: longhorn  时间: 2004-05-28 13:43:00
你的意思是说弹出窗口里有个表单,提交表单后窗口自动关闭是吗?只需要在处理表单的页面结尾加上
<script language="javascript">
   window.close();
</script>
就可以了,当然也可以在ASP代码结尾写
<%
      response.write "<script>window.close();</script>"
%>
昵称: peibz  时间: 2004-06-04 12:29:00
我的新窗口是通过一个名叫mainFrame所包含的网页上的超连接打开的一个模态窗口。我怎么在打开的窗口,和mainFrame所包含的网页中进行表单之间的传值?
演示:http://worm2008.51j.cnj/ttt/frame.php

如何把新窗口中的值添到父窗口的文本框中?
昵称: wormbaby  时间: 2004-06-04 12:53:00
顺便问一个问题,怎样在父窗口关闭事件触发之前关闭用window.open打开的子窗口呢?就是说我如果点击浏览器右上方的关闭标志,我必须保证当前窗口下的所有子窗口也必须同时关闭。
昵称: crazyhui  时间: 2004-06-18 00:34:00
win=window.open("about:blank","win","height=300,width=300");

上行代码中,open方法返回值是什么,win代表子窗口的什么呢?
昵称: lwp  时间: 2004-06-24 15:54:00
win=window.open("about:blank","win","height=300,width=300");
上行代码中,open方法返回值是什么,win代表子窗口的什么呢
昵称: lwp  时间: 2004-06-24 16:12:00
open的返回值是对象,win代表子窗口的window对象。
昵称: Ivony  时间: 2004-06-24 23:48:00
win代表子窗口吧?
昵称: lwp  时间: 2004-06-25 00:19:00
其实写的不规范。
因该这样
hWin=window.open("about:blank","winName","height............

hWin就象一个返回的句柄,能对窗口进行控制
winName 是窗口名,多个open在同一个窗口打开,这个就能用上了。
昵称: longhorn  时间: 2004-06-25 17:54:00


QUOTE:
最初由 wormbaby 发布
[B]我的新窗口是通过一个名叫mainFrame所包含的网页上的超连接打开的一个模态窗口。我怎么在打开的窗口,和mainFrame所包含的网页中进行表单之间的传值?
演示:http://worm2008.51j.cnj/ttt/frame.php

如何把新窗口中的值添到父窗口的文本框中? [/B]
对于模态窗口

例如
var xxx = window.showModalDialog("a","b","c");

a的内容是location页面的路径名
比如: myurl.jsp

当然,在这里可以象window.location.href一样,传递参数.
比如: myurl.jsp?type=1
这个就可以实现表单之间的传值.

b的内容是javascript中的参数传递.
比如:
父页面设定一个js的数组a,要将这个a传递到子页面中,那只需要将a放入b的位置即可.

当然在子页面要接收这个传值

a = dialogArguments;

c的内容就是对这个窗口大小,类型的一些控制.
比如:
dialogHeight,dialogWidth,status,scroll...

大致就如此.
昵称: flyromza  时间: 2004-06-28 18:09:00