弹出的模态窗口不能刷新父窗体。例如我新增数据是在模态窗口而添加成功了关闭后父窗体只能手动刷新。这样就严重影响了一些效果。
我尝试过一些方法但是始终不对。请各位高手进来一下。
用OPEN打开的不管是在关闭窗体时自动刷新都没有任何问题。见下例
父窗体代码
<%@ page contentType="text/html; charset=GBK" %>
open
子窗体代码
<%@ page contentType="text/html; charset=GBK" %>
<!--
用按纽直接刷新父窗体
<a href="javascript:opener.location.reload()" mce_href="javascript:opener.location.reload()"-->
刷新
->
换做模态后的程序。
父窗体代码
<%@ page contentType="text/html; charset=GBK" %>
<script><!--
function showabout()
{
var returnValue=showModalDialog('2.html','','dialogWidth:520px;dialogHeight:510px;help:no;center:yes;resizable:no;status:no;scroll:no');
}
void(0);
// --></script>open
子窗体代码
<%@ page contentType="text/html; charset=GBK" %>
刷新
请各位参考一下上面的代码,我感觉错误好象是出在
opener.location.reload()
谢谢
______________________________________________________________________________________________
答1:
模态窗口不能在子窗口中直接刷新父窗口
父窗体代码
<%@ page contentType="text/html; charset=GBK" %>
<script><!--
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>open
子窗体代码
<%@ page contentType="text/html; charset=GBK" %>
刷新
//???在子窗口中不能刷新父窗口,只有window.close下去后才可刷新.
______________________________________________________________________________________________
答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
也就是
分享到:
相关推荐
### 子窗口刷新父窗口技术总结 在网页开发中,我们常常遇到需要在子窗口完成某些操作后,刷新或更新父窗口数据的情况。这在诸如弹出框进行数据编辑、表单提交等场景中尤为常见。本文档将深入探讨如何在子窗口关闭时...
通过上述介绍,我们可以看出,根据具体的应用场景和需求,可以选择不同的方法来实现子窗口刷新父窗口的目标。每种方法都有其适用的场合和局限性,开发者应该根据实际需求选择最合适的方式。此外,随着浏览器技术的...
3. **父窗口的更新**:在子窗口的AJAX成功回调函数中,我们可以调用`parent.window.location.reload()`来刷新父窗口。这样,父窗口将获取到最新的数据并重新渲染页面。 这个过程的关键在于通过AJAX保持页面的异步...
当用户在子窗体中进行操作后,比如编辑、添加或删除数据,通常希望在关闭子窗体时能够自动刷新父窗体,以便显示最新的数据状态。这涉及到事件处理和对象间的通信。以下是对这一主题的详细解释。 首先,我们需要了解...
根据给定的信息,本文将详细解释如何在C# WinForms应用程序中实现子窗体刷新父窗体的功能。此功能在很多场景下都非常有用,比如当用户在子窗体中进行了某些操作后,需要立即更新父窗体中的数据显示时。 ### C# ...
在Qt编程中,子窗口与父窗口之间的交互是常见的需求,包括窗口间的切换和数据传递。这涉及到Qt的窗口系统和信号与槽机制。本文将深入探讨如何在Qt环境中实现子窗口与父窗口的切换以及如何在窗口之间传递数据。 首先...
子窗口刷新父窗口 self.window.opener.locaction.reload(); 刷新一open()方法打开的窗口 window.opener.location.href = window.opener.location.href 刷新以winodw.showModelDialog()方法打开的窗口 window....
2. **子窗口刷新父窗口**: 子窗口可以使用`window.parent`对象来访问父窗口。例如,`window.parent.location.href=window.parent.location.href`或`window.parent.location.reload()`可以刷新父窗口。 除了上述...
而“刷新”按钮则用于刷新父窗口的内容。 #### 二、通过 `window.showModalDialog()` 实现交互 除了 `window.open()` 之外,还可以使用 `window.showModalDialog()` 来创建模态对话框。这种方法可以让父窗口保持在...
### C#中利用委托实现子窗口关闭时通知父窗口执行特定方法 在C#中,事件和委托是非常重要的概念,特别是在处理用户界面交互时。本文将详细介绍如何利用委托(Delegate)来实现在关闭子窗口时通知父窗口执行特定的...
3. **子窗口刷新父窗口**: 如果当前页面是子窗口,想要刷新父窗口,可以使用`self.opener.location.reload()`。`self`指的是当前窗口,`opener`则指向创建它的父窗口。 ```javascript self.opener.location....
在Web开发中,有时我们需要在子窗口与父窗口之间传递数据。这通常发生在弹出窗口或者框架集等场景中,用户在子窗口进行操作后,需要将结果反馈给父窗口,以便更新父窗口的状态或展示相关信息。这个过程就称为“子...
- **使用`opener.location.reload()`**:在子窗口中,你可以通过`opener`引用父窗口,然后调用`reload()`方法刷新父窗口的页面。 - **通过消息传递**:使用`window.postMessage()` API,子窗口可以向父窗口发送...
在JavaScript中,我们经常遇到需要在一个弹出的窗口(子窗口)中执行操作后刷新父窗口的情况。这在很多应用场景中都非常有用,比如表单提交后的页面刷新、数据更新后的页面刷新等。实现这一功能的关键是能够访问到父...
二、子窗体刷新父窗体的实现 1. 传递引用法: - 父窗体代码: ```csharp public partial class MainForm : Form { public MainForm() { InitializeComponent(); } private void ShowChildFormButton_...
标题“窗口刷新父窗口然后关闭”涉及到的是软件开发中的用户界面交互操作,主要与Windows操作系统下的编程有关。在Windows API(应用程序接口)中,开发者可以通过编程实现窗口的刷新和关闭功能。这一操作常见于需要...
1. **使用window.parent对象**:在子页面的JavaScript代码中,我们可以访问到`window.parent`对象,它是对父窗口的引用。因此,可以直接调用`window.parent.location.reload()`来刷新父页面。这种方法简单直接,但...
根据给定的代码片段和描述,“open关闭子页面刷新父页面”这一主题涉及到的关键知识点主要包括:使用JavaScript打开新窗口、父窗口与子窗口之间的通信,以及通过特定事件触发父窗口的刷新。 ### 使用JavaScript打开...