通常使用window.open的方式开启新窗口的话
要取得父窗口的控件,可以用window.opener来取得父窗口
然而如果使用showModalDialog的话...却无效
如果有需要的话,需要修改开启的语法以及showModalDialog中的语法
开启语法第2个参数请下self,范例如下
var rc=window.showModalDialog(strURL,self,sFeatures);
然后接着就是呼叫父窗口的语法
var pWindow=window.dialogArguments;
这样就可以取得父窗口的window对象控制了。例如:
window.dialogArguments.document.getElementsByName("processId")[0].value;
js中 opener和parent的区别
2008-03-09 21:10
opener即谁打开我的,比如A页面利用window.open弹出了B页面窗口,那么A页面所在窗口就是B页面的
opener,在B页面通过opener对象可以访问A页面。
parent表示父窗口,比如一个A页面利用iframe或frame调用B页面,那么A页面所在窗口就是B页面的
parent。
在JS中,window.opener只是对弹出窗口的母窗口的一个引用。比如:
a.html中,通过点击按钮等方式window.open出一个新的窗口b.html。那么在b.html中,就可以通过
window.opener(省略写为opener)来引用a.html,包括a.html的document等对象,操作a.html的内容。
假如这个引用失败,那么将返回null。所以在调用opener的对象前,要先判断对象是否为null,否则会
出现“对象为空或者不存在”的JS错误。
<html>
<body>
<form. name=form1>
<input type=text name=inpu >
<input type=button >
</form>
</body>
</html>
--------------------------------
back2opener.html
--------------------------------
<html>
<body>
<form. name=form1>
<input type=text name=inpu >
<a class=under href=# >添加</a>
</form>
</body>
</html>
window.opener 返回的是创建当前窗口的那个窗口的引用,比如点击了a.htm上的一个链接而打开了
b.htm,然后我们打算在b.htm上输入一个值然后赋予a.htm上的一个id为“name”的textbox中,就可以
写为:
window.opener.document.getElementById("name").value = "输入的数据";
分享到:
相关推荐
而非模式对话框则允许用户在显示对话框的同时继续与父窗体或其他窗口进行交互。 在Windows API或现代UI框架(如WinForms、WPF、Qt等)中,非模式对话框的创建和管理通常涉及消息循环。当一个非模式对话框被创建时,...
模式对话框在显示时会阻塞其父窗口,用户必须先关闭对话框才能继续与主窗口交互。这种方式强制用户处理当前对话框的问题。非模式对话框则不会阻止用户与主窗口或其他窗口的交互,允许并行操作。 1. 模式对话框...
if (myDlg.Create(NULL)) // NULL表示没有父窗口 { myDlg.ShowWindow(SW_SHOW); // 显示对话框 } ``` 5. 处理用户输入:对话框中的控件可以通过消息映射(MESSAGE_MAP)来处理用户的交互事件,例如按钮点击、文本...
虽然这里也是使用了 `this` 参数来指定父窗口,但是实际上 `ShowDialog` 方法通常用于显示模式对话框。为了展示非模式对话框,应该使用 `Show()` 方法。 2. **特点**: - 用户可以在对话框显示的同时继续与其他...
3. **生命周期**:非模式对话框的生命周期开始于Create()函数调用成功,结束于DestroyWindow()或Close()函数调用,或者当对话框的父窗口关闭时。 4. **应用实例**:例如,状态设置面板、浮动工具栏等,这些需要与主...
标题中的“通过模式对话框修改父窗体的表单变量”指的是在编程中,我们有时需要在弹出的对话框(对话窗口)中进行一系列操作,然后将这些操作的结果反馈到主窗口(父窗体)中。这通常涉及到窗口间的通信,特别是模式...
在Windows编程中,模式对话框(Modal Dialog)是一种常见的用户交互方式,它会阻止用户与父窗口进行交互,直到对话框被关闭。然而,有些情况下我们可能希望在显示模式对话框的同时,允许用户继续与主窗口进行有限的...
首先,模式对话框(Modal Dialog)是一种阻止用户与父窗口交互,直到关闭该对话框后才能继续操作的窗口。在WPF中,我们可以使用`Window`类的`ShowDialog()`方法来创建一个模式对话框。但默认情况下,WPF的模式对话框...
在Web开发中,模式对话框(Modal Dialog)是一种常见的用户交互元素,用于在当前页面上显示一个半透明的遮罩层,焦点集中在一个独立的窗口,用户必须先处理这个对话框才能继续与主页面进行交互。这种设计可以有效地...
对于无模式对话框,通常使用`Create()`函数,并传递对话框资源ID和父窗口的指针。 5. **处理消息循环**:无模式对话框会独立于主消息循环运行,因此你需要处理其消息。这通常涉及重载`PreTranslateMessage()`函数,...
在探讨“模式窗口操作父窗口”这一主题时,我们首先需要理解模式窗口(Modal Window)的概念及其在用户界面设计中的作用。模式窗口是一种常见的UI组件,用于在当前应用的主窗口上显示一个对话框或子窗口,这个子窗口...
模式对话框在显示时会阻塞父窗口的用户界面,直到用户完成对话框操作并关闭它。在这个"MFC学习之模式对话框"的实例中,我们将探讨如何在Visual C++ (VC++)环境中创建和使用模式对话框。 首先,创建一个模式对话框...
通过设置`setModal(true)`,可以将对话框设置为模式化的,这样用户在关闭对话框之前无法与父窗口交互。 5. **使用场景** - 用户输入:如登录窗口、设置窗口等,需要用户填写必要信息。 - 警告和确认:提示用户...
在Qt6框架中,子窗口向父窗口传递数据是一个常见的需求,这通常涉及到窗口间的通信。Qt6提供了多种方法来实现这种通信,包括信号与槽、共享数据对象、全局变量等。下面我们将深入探讨这些方法,并通过实例进行解析。...
// NULL 表示使用默认父窗口 ``` 5. **显示对话框**:创建实例后,使用ShowWindow() 函数显示对话框: ``` myDialog.ShowWindow(SW_SHOW); ``` 6. **处理消息**:在对话框类中,你需要处理来自对话框控件的...
当非模式对话框以临时对象的方式创建,即没有保存为长久对象(如父窗口类成员或全局变量)时,必须通过对话框自身发送的窗口消息来关闭它。例如,用户点击“关闭”按钮触发`ONCLOSE`消息。在这个情况下,你应该覆盖...
模式对话框在显示时会暂停父页面的其他操作,要求用户必须首先对它进行响应,直到它被关闭后,用户才能继续与父页面交互。而非模式对话框允许用户在打开对话框的同时,继续与父页面进行交互。 要创建一个模式对话框...
MDI是一种常见的用户界面设计模式,它允许在一个父窗口内同时打开多个子窗口,每个子窗口都可以独立显示和操作不同的数据或功能。 首先,"将对话框作为MDI子窗口"是指在MDI应用程序中,我们不使用传统的子窗口(如...
可以通过发送自定义消息给父窗口并在父窗口中处理,或者直接在对话框的`PostNcDestroy()`中设置成员变量为NULL。 6. 关于`OnOK()`和`OnCancel()`: 在非模态对话框中,`OnOK()`和`OnCancel()`不会自动关闭对话框,...
无模式对话框不会禁止父窗口,允许用户在对话框和其他窗口之间自由切换。应用程序需要负责处理对话框的输入消息,通常通过主消息循环。使用::IsDialogMessage函数可以实现类似对话框的键盘导航,它能够处理键盘消息...