如何关闭子窗口

whtech 2003-07-22 05:11:14
父窗口中的代码
function OcxShowFillPatternDlg(){
fillPatternWin = window.open('FillWithAssets.do','FileUploadWin','height=500,width=600,status=no,scrollbars =1,toolbar=no,menubar=no,location=no,resizable=1');
}
function SetFillPatternBak(assetId,assetVersion){
//if(fillPatternWin!=null)
// fillPatternWin.close();
OBJ_StoryBoard.SetFillPatternBak(assetId,assetVersion) ;//执行时间很长,其中还有交互动作

}

新窗口中的代码

<script>
function SelectAsset(a,b)
{
//self.close();
window.opener.SetFillPatternBak(a,b);
self.close();
}
</script>


几个流程是在父窗口中调用OcxShowFillPatternDlg打开子窗口fillPatternWin,子窗口完成操作后,执行SelectAsset(a,b),
因为父窗口中的OBJ_StoryBoard.SetFillPatternBak(assetId,assetVersion)这一句,执行时间很长,并且会有交互动作(OBJ_StoryBoard是一控件的名称)
因此,子窗口的状态是一片空白,鼠标处于忙状态,无法操作关闭按钮,等到父窗口执行完毕以后,子窗口自动消失。

我想在OBJ_StoryBoard.SetFillPatternBak(assetId,assetVersion)之前比关闭子窗口,怎么办?
...全文
136 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
BOBOROSE 2004-01-05
  • 打赏
  • 举报
回复
也太小呆了..

怎么关
直接关机就行..不废话吗

快给分..
whtech 2003-12-04
  • 打赏
  • 举报
回复
最终版本,把旧窗体失去焦点,转移视线,然后返回前台操作,操作完了,后面的窗口也就关掉了。
whtech 2003-07-22
  • 打赏
  • 举报
回复
不能刷新,控件中还有很多东西没保存,别告诉我保存了再刷新,保存的时间更长
Tonglu 2003-07-22
  • 打赏
  • 举报
回复
<script>
window.openner.location.href="index.asp?id=<%=id%>"//刚才少了'号
window.close();
</script>
Tonglu 2003-07-22
  • 打赏
  • 举报
回复
那刷新你窗口不就行了
<script>
window.openner.location.href="index.asp?id=<%=id%>
window.close();
</script>

这样刷新你窗口并且把值传过去了应该是没问题了呀对不对?
whtech 2003-07-22
  • 打赏
  • 举报
回复
传了以后,你还要让父窗口执行啊,呵呵。
whtech 2003-07-22
  • 打赏
  • 举报
回复
不行,function SetFillPatternBak(assetId,assetVersion)执行时间太长。
Tonglu 2003-07-22
  • 打赏
  • 举报
回复
只要把你asp的值加到script里面就可以传递了既把值传给了你窗口又关闭了自己,是不是更好呀?
可以在一个提交按钮上做一个函数调用就可以了
<script>
function check()
{
window.openner.form1.text.value="6";
window.close();

}
</script>

<a href="" onclick="return check()">提交</a>
Tonglu 2003-07-22
  • 打赏
  • 举报
回复
<script>
window.openner.form1.text.value="6";
window.close();
</script>
在子窗口中用这种方式看看行不行
给你一点意见
whtech 2003-07-22
  • 打赏
  • 举报
回复
也许我没说清楚,补充一些:

我的操作步骤是这样的,在父窗口操作,打开子窗口,在子窗口选择了一些东西,提交给父窗口,然后关闭自己,但是父窗口操作太久,子窗口一直关不了。


whtech 2003-07-22
  • 打赏
  • 举报
回复
不行,同样的问题,一片空白。
edwardfay 2003-07-22
  • 打赏
  • 举报
回复
function SetFillPatternBak(assetId,assetVersion){
//if(fillPatternWin!=null)
// fillPatternWin.close();
去掉注释:
function SetFillPatternBak(assetId,assetVersion){
if(fillPatternWin!=null)
fillPatternWin.close();
不行吗?

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧