一个关于模态弹出窗口刷新父窗体的问题。
问:
我在做一套系统的时候碰到这样一个问题。
弹出的模态窗口不能刷新父窗体。例如我新增数据是在模态窗口而添加成功了关闭后父窗体只能手动刷新。这样就严重影响了一些效果。
我尝试过一些方法但是始终不对。请各位高手进来一下。
用OPEN打开的不管是在关闭窗体时自动刷新都没有任何问题。见下例
父窗体代码
<%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title></title>
</head>
<body>
<a href="javascript:void(0)" onclick="window.open('2.html','','')">open</a>
</body>
</html>
子窗体代码
<%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title></title>
</head>
<body onUnload="opener.location.reload()">
<!-
用按纽直接刷新父窗体
<a href="javascript:opener.location.reload()">刷新</a>
->
</body>
</html>
换做模态后的程序。
父窗体代码
<%@ page contentType="text/html; charset=GBK" %><HEAD>
<body onUnload="opener.location.reload()">
<script language="JavaScript">
function showabout()
{
var
returnValue=showModalDialog('2.html','','dialogWidth:520px;dialogHeight:510px;help:no;center:yes;resizable:no;status:no;scroll:no');
}
void(0);
</script>
<a href="javascript:void(0)" onClick="showabout()">open</a>
子窗体代码
<%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title></title>
</head>
<body onUnload="opener.location.reload()">
<a href="javascript:opener.location.reload()">刷新</a>
</body>
</html>
请各位参考一下上面的代码,我感觉错误好象是出在
opener.location.reload()
谢谢
______________________________________________________________________________________________
答1:
模态窗口不能在子窗口中直接刷新父窗口
父窗体代码
<%@ page contentType="text/html; charset=GBK" %><HEAD>
<body onUnload="opener.location.reload()">
<script language="JavaScript">
function showabout()
{
var
returnValue=showModalDialog('2.html','','dialogWidth:520px;dialogHeight:510px;help:no;center:yes;resizable:no;status:no;scroll:no');
location.reload()//模态窗口传值下来后就可以刷新了.
}
void(0);
</script>
<a href="javascript:void(0)" onClick="showabout()">open</a>
子窗体代码
<%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title></title>
</head>
<body onUnload="opener.location.reload()">
<a href="javascript:opener.location.reload()">刷新</a>//???在子窗口中不能刷新父窗口,只有window.close下去后才可刷新.
</body>
</html>
______________________________________________________________________________________________
答2:
模态对话框是不能用opener引用父窗口的,而是需要父窗口主动传递指针变量的
这个window.showModalDialog有第二个参数,就是做这个用的,你需要把window穿过去,就是这样
var
returnValue=showModalDialog('2.html',window,'dialogWidth:520px;dialogHeight:510px;help:no;center:yes;resizable:no;status:no;scroll:no');
这样在对话框中就可以引用父窗口对象,怎么引用呢,通过window.dialogArgument就可以应用父窗口了。
______________________________________________________________________________________________
答3:
谢谢。我终于搞定了。
上面的dialogArgument差个S
我调了半天。发现在body里面应该加上location
也就是<body onUnload="window.dialogArguments.location.reload()">
摘自以下地址: http://www.blogjava.net/ljy032/
分享到:
相关推荐
分页后弹出模态窗口刷新父窗口 分页后弹出模态窗口刷新父窗口 分页后弹出模态窗口刷新父窗口
在模态窗口关闭时刷新父页面,直接可以调用的
模态子窗体可以调用父窗体的任何函数方法,相当于在一个界面操作一样,超强的,顶!
很好用的模态弹出窗口,可自定义弹出窗口外观源码! 值得下载看看!资源免费,大家分享!! 更多免费资源 http://ynsky.download.csdn.net/
这是Visual Studio的MFC项目,展示了模态窗口、非模态窗口的使用。弹出模态窗口就会阻塞父窗口,并且展示了C++读取鼠标位置的方法。非模态窗口则不会阻塞父窗口。 主窗口展示了树控件的使用方法。
因系统需求,要在关闭子模态对话框后刷新父模态对话框,做的一个小测试。
iOS 模态弹出窗口控件 KGModal ,KGModal 是一个易用的模态弹出窗口控件,可根据显示的内容自动调整弹窗的大小以适应内容最适合的大...
我在创建弹出窗口的时候在主窗体中声明一个栈,把当前iframe的window对象压入栈,这样不管我现在弹出了多少个窗口总能很容易的找到其中的任意一个的对象。 有感兴趣的把我的代码下载回去看看,然后给我提提意见,...
利用模态对话框实现父窗体、子窗体间传值。 服务器showModalDialog 打开子窗体,子窗体使用客户端脚本和服务器端方法向父窗体传值
C# 非模态窗体(show)实现模态窗体(ShowDialog)的效果
在vs2005基于prototype.js的模态弹出窗口
父窗口:parent 弹出窗口:modal 弹出窗口与父窗口互相交换数据
jquery 弹出模态窗体
易语言以模态方式载入窗口源码,以模态方式载入窗口,载入_模态,WinProc,DialogProc,CreateWindowEx,RegisterClassEx,DefWindowProc,GetModuleHandle,LoadIcon,LoadCursor,EnableWindow,GetMessage,DispatchMessage,...
自己制作的DIV模态窗口,点击弹出DIV窗口,后层页面屏蔽,实现模态窗口。需要用vs2010打开
该代码是使用qml实现创建模态对话框
这是C#实现一个功能强大的窗体之间传值,是初学者值得下载学习的一个源代码……
单独的js文件 博文链接:https://susenshine.iteye.com/blog/1154074
java多级模态窗口java多级模态窗口java多级模态窗口java多级模态窗口java多级模态窗口java多级模态窗口java多级模java多级模态窗口java多级模态窗口java多级模态窗口java多级模态窗口java多级模态窗口java多级模态...
intraweb中弹出窗口源码 类似windows平台的非模态窗体