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 相关文章推荐
用 Javascript 验证表单(form)中的单选(radio)值
Sep 08 Javascript
JavaScript call apply使用 JavaScript对象的方法绑定到DOM事件后this指向问题
Sep 28 Javascript
js实现精美的银灰色竖排折叠菜单
May 16 Javascript
关于微信jssdk实现多图片上传的一点心得分享
Dec 13 Javascript
轻松理解JavaScript之AJAX
Mar 15 Javascript
jQuery Ajax 实现分页 kkpager插件实例代码
Aug 10 jQuery
Node.js自定义实现文件路由功能
Sep 22 Javascript
js时间戳转yyyy-MM-dd HH-mm-ss工具类详解
Apr 30 Javascript
基于vue实现一个神奇的动态按钮效果
May 15 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
Jun 11 Javascript
layer.js open 隐藏滚动条的例子
Sep 05 Javascript
JS数组方法push()、pop()用法实例分析
Jan 18 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
PHPThumb PHP 图片缩略图库
2012/03/11 PHP
php的curl封装类用法实例
2014/11/07 PHP
smarty表格换行实例
2014/12/15 PHP
JavaScript获取GridView选择的行内容
2009/04/14 Javascript
学习ExtJS Window常用方法
2009/10/07 Javascript
JQuery 获取和设置Select选项的代码
2010/02/07 Javascript
javascript 正则替换 replace(regExp, function)用法
2010/05/22 Javascript
js数组的基本操作(很全自己整理的)
2014/10/16 Javascript
JavaScript页面模板库handlebars的简单用法
2015/03/02 Javascript
JavaScript跨域调用基于JSON的RESTful API
2016/07/09 Javascript
用js读写cookie的简单方法(推荐)
2016/08/08 Javascript
简单谈谈require模块化jquery和angular的问题
2017/06/23 jQuery
python使用pil生成图片验证码的方法
2015/05/08 Python
Python Socket传输文件示例
2017/01/16 Python
python制作小说爬虫实录
2017/08/14 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
Python中那些 Pythonic的写法详解
2019/07/02 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
如何把外网python虚拟环境迁移到内网
2020/05/18 Python
python搜索算法原理及实例讲解
2020/11/18 Python
python matlab库简单用法讲解
2020/12/31 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
全球知名旅游社区巴西站点:TripAdvisor巴西
2016/07/21 全球购物
Forever 21美国官网:美国标志性快时尚品牌
2017/02/20 全球购物
英国最大的海报商店:GB Posters
2018/03/20 全球购物
英国No.1体育用品零售商:SportsDirect.com
2019/10/16 全球购物
迪卡侬比利时官网:Decathlon比利时
2019/12/28 全球购物
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
DTD的含义以及作用
2014/01/26 面试题
大学生个人自荐信
2014/02/24 职场文书
出国留学担保书
2014/05/20 职场文书
公关活动策划方案
2014/05/25 职场文书
旷工检讨书1000字
2015/01/01 职场文书
在JavaScript中如何使用宏详解
2021/05/06 Javascript
解决mysql的int型主键自增问题
2021/07/15 MySQL