`

父窗口中得到子窗口的值

阅读更多

补(2005-10-24整理)

 

在Web开发中,常常需要在当前窗口打开一个窗口(称为子窗口)

如:选择用户,我们就需要弹出一个用户列表的窗口,在这个窗口中我们可以对用户进行搜索,分页等操作,进而选择用户

而在当前窗口中如何得到选择的用户信息呢?

 

这就涉及到在父窗口中如何得到子窗口的值?

 

就本人在项目中的实践来描述如下两种方案,本文中服务端采用jsp实现(这个不是主要的,可以移植到任何服务端编程)

 

方法一: 利用showModalDialog打开子窗口,并用returnValue=xxxx取得返回值

 

缺点:在子窗口中如要进行分页的操作(a标签的原因)比较难实现  受浏览器版本影响

 

方法二:

利用Window.open打开子窗口

在当前窗口中定义如下JavaScript脚本

function XXX(inputName,inputId){

    window.open("test.jsp?inputname="+inputName+"&inputid="+inputId,"其它打开窗口的参数");

}

 

<input type="text" name="txtUserName" readonly value="">

<input type="hidden" name="UserID" value="">

<input type="button" value="选择..." onclick="XXX('txtUserName',UserID);">

 

在open的子窗口中核心代码:

String inputName=request.getParameter("inputname");

String inputId=request.getParameter("inputid");

 

注意:分页操作应该将上述两个参数一起带入

 

将选中的值回写到父窗口中JavaScript代码:

window.opener.document.all.<%=inputId%>.value="";

window.opener.document.all.<%=inputName%>.value="";

 

总结:主要通过window.opener在打开的子窗口中操纵其父窗口来实现将子窗口中的值的回写

 

扩展运用:在打开的子窗口中刷新父窗口 window.opener.location.reload();

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    子窗口向父窗口传递值

    当然打开子窗口可用window.open()或window....若想将父窗口的数据传递到子窗口可用URL后带请求字符串即"?id1=qurey1&id2=query2",在子窗口中用window.location.search来获取该请求字符串.再利用字符串分割便可获得数据.

    vb-EnumChildWindows所有窗口及子窗口句柄免费版

    vb-EnumChildWindows所有窗口及子窗口句柄是一款vb枚举窗口枚举出所有父窗口和其对应的子窗口句柄信息获取查看工具,每个子窗口控件都具有一个在其兄弟中唯一的窗口句柄和ID值。对于句柄和ID这两者,知道其中的一个...

    C#,winform,ShowDialog,子窗体向父窗体传值

    调用showdialog方法后,调用代码被暂停执行,等到调用... 例子: 下面是子窗体代码,要求输入phone,然后会返回给父窗体。 using System; using System.Collections.Generic; using System.ComponentModel; using S

    MFC多窗口例程

    No.4 简单的MFC多对话框演示...第三第四句将子对话框得到的数据(即类的成员变量)显示在父对话框的Edit上。 四句执行完后退出该函数,这时刚才定义的CSubDialog1等对话框类变量被销毁,因此创建的话框也被销毁。

    LHGDialog V3.5.2 正式版 lhgDialog弹出窗口组件 lhgdialog V3.5.2

    parent:子窗口的父窗口对象参数值:此参数只用在弹出的窗口中再弹出子窗口时指定父窗口对象,注意如果2层弹出窗口都有遮罩层则一定要加此参数。 dgOnLoad:窗口加载后执行的函数参数值:注意此参数值一定要为函数...

    API之网络函数---整理网络函数及功能

    BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口 GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置 GetMessageTime 取得消息队列中上一条消息处理完毕时的时间 Post...

    RINGSDK包含界面库和图象库。

    也可以用SetParentObj(窗口对象)来设置父窗口对象,之后调用Create如果参数中 未指定父窗口对象句柄,则使用父窗口对象的窗口句柄。因此一个窗口类的父窗口对象和父窗口可以不同。 创建MDI子窗口: 需要父窗口是MDI...

    易语言 茶凉专用模块

    参数 继承, 逻辑型, 可空, 默认为假:不继到子窗口 真:继承到所有子级窗口 .子程序 按键消息处理, 逻辑型, 公开 .参数 hwnd, 整数型 .子程序 按下控件, , 公开, 向指定按钮(控件)发送按钮鼠标单击的消息(无返回值) ...

    Window 消息大全

    WM_NOTIFY = $004E //当某个控件的某个事件已经发生或这个控件需要得到一些信息时,发送此消息给它的父窗口 WM_INPUTLANGCHANGEREQUEST = $0050 //当用户选择某种输入语言,或输入语言的热键改变 WM_...

    javascript常用对象梳理

    dependent:指定打开的窗口为当前窗口的一个子窗口,并随着父窗口的关闭而 关闭,选项的值及含义与toolbar相同; hotkeys:在没有菜单栏的新窗口中设置安全退出的热键,选项的值及含义与 toolbar相同; ...

    蒋勇自绘模块UI

    子程序 检查属性值是否被利用, 逻辑型, 公开, 检查下你的兄弟有没有跟你用相同的属性值,有返回真 否则返回假 .参数 欲检查的属性值, 整数型 .子程序 将要被销毁, , 公开 .子程序 禁止, 逻辑型, 公开, 49 .参数 ...

    FCKeditor使用指南

    7.1.4 从页面弹出窗口中获得父窗口的FCKeditor实例 26 7.2 常见的Js方法调用 27 7.2.1 插入HTML到FCKeditor 27 7.2.2 设置FCKeditor的内容(HTML) 27 7.2.3 获取FCKeditor中的XHTML 27 7.2.4 获取FCKeditor中的...

    易语言辅助模块

    参数 子窗口句柄, 整数型 .参数 父窗口句柄, 整数型, , 如:桌面→桌面标题=“Program Manager” .子程序 窗口嵌入桌面, 逻辑型, 公开, 成功返回(真),失败返回(假) .参数 窗口句柄, 整数型, , 欲嵌入到桌面的窗口 ...

    Flash播放类 大家下载吧

    子程序 窗口_顶边, 整数型, 公开, 设定或取得Flash窗口相对于父窗口的顶边。 .参数 新顶边, 整数型, 可空, 不留空为设定,留空为取。 .子程序 窗口_高度, 整数型, 公开, 设定或取得Flash窗口相对于父窗口的高度。 ....

    PT80-NEAT开发指南v1.1

    框架窗口 ............................................................................................................................................... 19 完整的例子 ....................................

    powerbuilder

    参数jobname:string类型,可选项,指定要打开打印作业的名称,该名称将显示在打印管理器窗口中返回值Long。函数执行成功时返回打印作业号,发生错误时返回-1。如果任何参数的值为NULL,PrintOpen()函数返回NULL。...

    Lotus公式语言函数简介

    @Day 从指定日期值中提取天的部分 @DbColumn 1 从当前或别的 Notes 数据库的视图或文件夹里查找并返回一个完整的列值 2 使用数据源信息激来激活 ODBC 驱动程序 @DbCommand 给出 ODBC.INI 文件中的数据源信息,利用...

    C++MFC教程

    7、学会利用子窗口,并在自定义的子窗口包含多个控件达到封装功能的目的。 8、尽量避免使用多文档多视结构。 9、不要使用多重继承并尽量减少一个类中封装过多的功能。 1.5 MFC中常用类,宏,函数介绍 常用类 CRect...

    javascript函数的解释

    45.打开子窗口的父窗口为:opener 46.表示当前所属的位置:this 47.当在超链接中调用JS函数时用:(javascript:)来开头后面加函数名 48.在老的浏览器中不执行此JS:&lt;!-- //--&gt; 49.引用一个文件式的JS:...

    VC之美化界面篇本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者。读者最好具有以下VC基础:

    注意,标注*的消息是子元素发送给父窗口的通知消息,其它的为窗口或者子元素自身的消息。 3.3.1 WM_PAINT WM_PAINT消息相信大家都很熟悉,一个窗口要重绘了,就会有一个WM_PAINT消息发送给窗口。 可以响应窗口的...

Global site tag (gtag.js) - Google Analytics