js关闭模态窗口刷新父页面或跳转页面


Posted in Javascript onDecember 13, 2012

有两个窗口: A窗口(父),B窗口(模态)

A窗口里有一个DATAGRID,一个按钮。

点击按钮时,弹出B窗口(模态)。在B窗口中添加数据,提交后,要求B窗口自关闭,然后刷新A窗口(父)

<script type="text/javascript"> 
function openSubWin() 
{ 
window.showModalDialog('b.html', 'newwindow', 'height=500, width=400, top=0, left=0, toolbar=no, menubar=yes, scrollbars=yes,resizable=yes,location=no, status=no'); 
window.location.reload(); 
} 
</script>

弹出子窗体b.html , 当关闭子窗体时 触发父页面刷新

最近做物资系统的时候,又涉及到模态窗口的问题了,上次做的时候没遇到这次这么多东西,记下来吧
父窗口 js方法

function openwin(id){ 
var answer=window.showModalDialog("demand.do?method=queryBOM&mdid="+id+"&d="+escape(new Date()),window.self,"dialogWidth:700px;dialogHeight:620px:center:yes"); 
if(answer==1){ 
window.location.href = "demand.do?method=selmd&d="+escape(new Date()); //转到处理页面 
//window.location.reload(); 刷新父窗口 
//winow.location.reload(true); } 
}

加个escape(new Date()) 避免读取缓存,当然也可以在子窗口中,加入
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
子窗口 js 方法:
function reVal(){ 
window.returnValue=1; //父窗口中 answer的值 
window.close(); 
}

打开模态窗口之后,父窗口会一直等待子窗口返回个值,如果是表单提交或是button就执行reVal()方法
返回answer的值,window.returnValue=1 这个地方我测试了 好像只能返回String类型的,数组类型的不好使

在子窗口中使用 window.opener.location.reload(); 不好使,不试用于模态窗口,window.opern() 好使

还有个问题是:在模态窗口里form 提交会弹出新窗口,这个问题简单就在<head>里面加个<base target="_self">
就可以搞定,注:我刚开始是不想通过form提交的,用js window.location.href 跳转到不同的action去处理,发现
<base target="_self"> 就不起作用了,似乎 <base target="_self"> 只是针对form action="" 才起作用,这个地方应该可以用iframe 去实现。

Javascript 相关文章推荐
音乐播放用的的几个函数
Sep 07 Javascript
Ext JS Grid在IE6 下宽度的问题解决方法
Feb 15 Javascript
jQuery下通过replace字符串替换实现大小图片切换
May 22 Javascript
IE的fireEvent方法概述及应用
Feb 22 Javascript
简介JavaScript中Math.cos()余弦方法的使用
Jun 15 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
Sep 27 Javascript
jquery按回车键实现表单提交的简单实例
May 25 Javascript
JavaScript闭包_动力节点Java学院整理
Jun 27 Javascript
JS图片轮播与索引变色功能实例详解
Jul 06 Javascript
vue 解决文本框被键盘遮住的问题
Nov 06 Javascript
Servlet返回的数据js解析2种方法
Dec 12 Javascript
解决vue项目打包上服务器显示404错误,本地没出错的问题
Nov 03 Javascript
HTML复选框和单选框 checkbox和radio事件介绍
Dec 12 #Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
Dec 12 #Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
Dec 12 #Javascript
javascript实现图片切换的幻灯片效果源代码
Dec 12 #Javascript
javascript跑马灯悬停放大效果实现代码
Dec 12 #Javascript
javascript实现div的拖动并调整大小类似qq空间个性编辑模块
Dec 12 #Javascript
javascript采用数组实现tab菜单切换效果
Dec 12 #Javascript
You might like
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
常见PHP数据库解决方案分析介绍
2015/09/24 PHP
tp5(thinkPHP5)框架实现多数据库查询的方法
2019/01/10 PHP
JavaScript 组件之旅(四):测试 JavaScript 组件
2009/10/28 Javascript
jquery右下角弹出提示框示例代码
2013/10/08 Javascript
JS图片切换的具体方法(带缩略图版)
2013/11/12 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
2014/02/11 Javascript
JavaScript省市联动实现代码
2014/02/15 Javascript
jQuery中even选择器的定义和用法
2014/12/23 Javascript
jQuery学习笔记之jQuery中的$
2015/01/19 Javascript
Node.js 去掉种子(torrent)文件里的邪恶信息
2015/03/27 Javascript
javascript白色简洁计算器
2015/05/04 Javascript
谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法
2015/12/03 Javascript
Node.js重新刷新session过期时间的方法
2016/02/04 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
2016/10/19 Javascript
Web前端开发之水印、图片验证码
2016/11/27 Javascript
关于Vue.js一些问题和思考学习笔记(1)
2016/12/02 Javascript
如何解决js函数防抖、节流出现的问题
2019/06/17 Javascript
nodejs中各种加密算法的实现详解
2019/07/11 NodeJs
在vue中封装的弹窗组件使用队列模式实现方法
2020/07/23 Javascript
JavaScript 判断数据类型的4种方法
2020/09/11 Javascript
详解webpack的clean-webpack-plugin插件报错
2020/10/16 Javascript
简单介绍Python中的JSON模块
2015/04/08 Python
从0开始的Python学习014面向对象编程(推荐)
2019/04/02 Python
django解决订单并发问题【推荐】
2019/07/31 Python
亚瑟士美国官网:ASICS美国
2017/02/01 全球购物
泰国折扣酒店预订:Hotels2Thailand
2018/03/20 全球购物
美国主要的特色咖啡和茶公司:Peet’s Coffee
2020/02/14 全球购物
医学生实习自我鉴定
2013/09/27 职场文书
生产操作工岗位职责
2014/09/16 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书
如何使用CocosCreator对象池
2021/04/14 Javascript
Java并发编程之详解CyclicBarrier线程同步
2021/06/23 Java/Android
spring项目中切面及AOP的使用方法
2021/06/26 Java/Android
Linux7.6二进制安装Mysql8.0.27详细操作步骤
2021/11/27 MySQL
Python中的pprint模块
2021/11/27 Python