朋友最近问我一个问题:子窗口添加数据并返回给父窗口一些添加成功的数据,同时父窗口刷新显示添加前的页面。相比很多人都相当熟知了,顺便记录一下:

==========================window.open()=================================

基本语法:window.open(pageURL,name,parameters)
       其中:
                pageURL 为子窗口路径
                name 为子窗口句柄
                parameters 为窗口参数(各参数用逗号分隔)

父窗口:a.html

function goChildren(){

var  res=window.open ('b.html', 'newwindow', 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no')//普通窗体}

参数解释:(一般情况下这些参数是足够的)

<SCRIPT LANGUAGE="javascript"> js脚本开始;

window.open 弹出新窗口的命令;

 'page.html' 弹出窗口的文件名;

 'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空''代替;

 height=100 窗口高度;

 width=400 窗口宽度;

 top=0 窗口距离屏幕上方的象素值;

 left=0 窗口距离屏幕左侧的象素值;

 toolbar=no 是否显示工具栏,yes为显示;

  menubar,scrollbars 表示菜单栏和滚动栏。
 Resizable=no 是否允许改变窗口大小,yes为允许;
  location=no 是否显示地址栏,yes为允许;
  status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;
 </SCRIPT> js脚本结束
 
//子窗口执行该方法执行传参操作  这样父窗口得到参数就可以做相应的操作了
 function setValue(m_strValue) {
        if (m_strValue != null && m_strValue != undefined) {
                window.location.href = "a.html?paramter="+m_strValue;
            }
     }
子窗口 b.html
<script type="text/javascript">
     function addData()
         {
            var val=document.getElementById("txt_Value").value
            window.close();
            opener.setValue(val);
     }
</script>
<input type="text" id="txt_Value" " /><input type="button" οnclick="addData():/>
==============================window.showModalDialog========================
基本介绍:
  showModalDialog() (IE 4+ 支持)
  showModelessDialog() (IE 5+ 支持)
  window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框。
  window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框。
使用方法:
   vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])
   vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures]) 
参数说明:
  sURL-- 必选参数,类型:字符串。用来指定对话框要显示的文档的URL。
  vArguments-- 可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。
  sFeatures-- 可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。

参数: {取值范围}:说明

| |
  dialogHeight :对话框高度,不小于100px,IE4中dialogHeight 和 dialogWidth 默认的单位是em,而IE5中是px,为方便其见,在定义modal方式的对话框时,用px做单位。
  dialogWidth: 对话框宽度。
  dialogLeft: 离屏幕左的距离。
  dialogTop: 离屏幕上的距离。
  center: {yes | no | 1 | 0 }:窗口是否居中,默认yes,但仍可以指定高度和宽度。
  help: {yes | no | 1 | 0 }:是否显示帮助按钮,默认yes。
  resizable: {yes | no | 1 | 0 } [IE5+]:是否可被改变大小。默认no。
  status: {yes | no | 1 | 0 } [IE5+]:是否显示状态栏。默认为yes[ Modeless]或no[Modal]。
  scroll:{ yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动条。默认为yes。

  下面几个属性是用在HTA中的,在一般的网页中一般不使用。
  dialogHide:{ yes | no | 1 | 0 | on | off }:在打印或者打印预览时对话框是否隐藏。默认为no。
  edge:{ sunken | raised }:指明对话框的边框样式。默认为raised。
  unadorned:{ yes | no | 1 | 0 | on | off }:默认为no。
实例:

父窗口:a.html
function goChildren(){
var  res=window.showModalDialog('b.html', 'newwindow', 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no')//模态窗口}
参数和上面一样就可以
子窗口:b.html
<script type="text/javascript">
function addData()
{
var val=document.getElementById("txt_Value").value
window.returnvalue=val;
window.close();
}
</script>
<input type="text" id="txt_Value"  /><input type="button" οnclick="addData():/>

转载于:https://www.cnblogs.com/jameslif/archive/2012/07/05/2578117.html

自己使用window.open和window.showModalDialog在父子窗口传值的实践简单总结相关推荐

  1. 总结JavaScript(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作

    前些日子,一直奔波于这三种操作,想想以后会常用,干脆整理下来,供自己以后查看.也给大家分享一下! 以下面写出自己认为有用的操作和代码. 第一次在园里面写,肯定有很多不足够之处,希望大家多多指点. 一. ...

  2. window.open和window.showModalDialog用法

    View Code window.open和window.showModalDialog用法2008/06/18 14:16一.window.open()支持环境: JavaScript1.0+/JS ...

  3. window.open()和window.showModalDialog 的使用及传值操作

    本人在使用时主要实现如下个功能, 以对话框形式弹出画面,且要求对话框置顶,不可操作其他画面,并且关闭画面时刷新父页面. window.open 可实现以对话框形式弹出画面,并且关闭画面时刷新父页面.但 ...

  4. window.returnValue和 window.showModalDialog()和window.close()的使用方法

    returnValue是javascript中html的window对象的属性,目的是返回窗口值,当用window.showModalDialog函数打开一个IE的模式窗口(模式窗口知道吧,就是打开后 ...

  5. if(window.event) e = window.event

    浏览器事件对象兼容 function func(e){ if(window.event){ e = window.event; } } 浏览器中的事件都是以对象的形式存在的,IE浏览器与标准DOM浏览 ...

  6. js操作frame详细解说,window.opener和window.parent的区别

    js操作frame详细解说,window.opener和window.parent的区别 frame框架里的页面要改其他同框架下的页面或父框架的页面就用parent window.opener引用的是 ...

  7. window.atob()与window.btoa()方法实现编码与解码

    转载于https://www.cnblogs.com/moqiutao/p/6280099.html 文章目录 window.atob() 与window.btoa() Unicode 字符串 dec ...

  8. window.parent和window.opener区别

    下面一段代码是关于window.parent和window.opener区别 来讲的,我们如果要用到iframe的值传到另一框架就要用到window.opener.document.getElemen ...

  9. window.parent,top,window.self,parent,opener

    2019独角兽企业重金招聘Python工程师标准>>> 在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frames ...

最新文章

  1. 软件性能测试主要看什么指标
  2. NAR:浙大陈云/马忠华团队揭示病原真菌组蛋白H3K27甲基化识别新机制
  3. ArcGIS 10 五大飞跃
  4. hive进行词频统计
  5. 心中有“树”:数据结构之树详解
  6. java securt 视频,SecureRandom在Java中安全种子
  7. 表单和iframe的使用
  8. 基于百度地图API的微信周边搜索
  9. 访问数组元素的 3 种方法
  10. 【没人看系列】js 数据类型
  11. 【PyTorch】深度学习实践之 CNN基础篇——卷积神经网络跑Minst数据集
  12. httppost请求工具类
  13. 非确定有限自动机转换为确定有限自动机
  14. 【Cubieboard2】配置编译内核支持SPI全双工通信驱动
  15. 便签纸文字提示ui布局css3
  16. LintCode 92.背包问题
  17. VMware下安装centos6.7的步骤
  18. 如何操作 Office Open XML 格式文档
  19. 蜂窝状/六边形格子网格的定位/坐标转换
  20. Kaggle比赛整理

热门文章

  1. java下拉框及响应函数_MVC 实现下拉框 - osc_88wjsceo的个人空间 - OSCHINA - 中文开源技术交流社区...
  2. gsp计算机管理系的功能,药博士医药企业GSP管理系统功能介绍
  3. xboxone硬盘坏的表现_【32期】硬盘损坏的根源居然是——它!
  4. linux登录界面主题,Ubuntu 18.10(Cosmic Cuttlefish) 新登录界面亮相,主题为Yaru
  5. php tp 微信支付,PHP实现的微信APP支付功能示例【基于TP5框架】
  6. ols残差_python数据关系型图表散点图系列残差分析图
  7. Xcode Cocoa程序MessageBox 弹框
  8. Pixhawk代码分析-启动代码及入口函数
  9. BZOJ-3473 (广义后缀自动机:拓扑 or 启发式合并)
  10. Linux内核如何管理内存