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 相关文章推荐
使用jQuery.wechat构建微信WEB应用
Oct 09 Javascript
前端必备神器 Snap.svg 弹动效果
Nov 10 Javascript
JavaScript数组常用操作技巧汇总
Nov 17 Javascript
JS中字符串trim()使用示例
May 26 Javascript
JS实现的3D拖拽翻页效果代码
Oct 31 Javascript
原生javascript+css3编写的3D魔方动画旋扭特效
Mar 14 Javascript
javascript实现随机生成DIV背景色
Jun 20 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
Jul 26 Javascript
使用JS动态显示文本
Sep 09 Javascript
对Layer UI 模块化的用法详解
Sep 26 Javascript
vue 解决路由只变化参数页面组件不更新问题
Nov 05 Javascript
JS代码检查工具ESLint介绍与使用方法
Feb 04 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
老照片 - 几十年前的收音机与人
2021/03/02 无线电
php实现监听事件
2013/11/06 PHP
PHP编程风格规范分享
2014/01/15 PHP
PHP处理Oracle的CLOB实例
2014/11/03 PHP
用户注册常用javascript代码
2009/08/29 Javascript
优化innerHTML操作(提高代码执行效率)
2011/08/20 Javascript
js判断一个元素是否为另一个元素的子元素的代码
2012/03/21 Javascript
js获取RadioButtonList的Value/Text及选中值等信息实现代码
2013/03/05 Javascript
更快的异步执行(setTimeout多浏览器)
2014/08/12 Javascript
javascript中一些util方法汇总
2015/06/10 Javascript
JQuery实现样式设置、追加、移除与切换的方法
2015/06/11 Javascript
AngularJS的表单使用详解
2015/06/17 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
js style.display=block显示布局错乱问题的解决方法
2016/09/21 Javascript
js拖拽功能实现代码解析
2016/11/28 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
2017/01/13 Javascript
微信小程序实现同一页面取值的方法分析
2019/04/30 Javascript
生产制造追溯系统之再说条码打印
2019/06/03 Javascript
JS中实现一个下载进度条及播放进度条的代码
2019/06/10 Javascript
vue3.0 的 Composition API 的使用示例
2020/10/26 Javascript
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
Vue2.x和Vue3.x的双向绑定原理详解
2020/11/05 Javascript
python中将\\uxxxx转换为Unicode字符串的方法
2018/09/06 Python
简单易懂Pytorch实战实例VGG深度网络
2019/08/27 Python
Python pandas 列转行操作详解(类似hive中explode方法)
2020/05/18 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
2020/07/03 Python
超酷炫 CSS3垂直手风琴菜单
2016/06/28 HTML / CSS
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
世界上最大的在线汽车租赁预订平台:Rentalcars.com(支持中文)
2018/10/12 全球购物
德国最新街头服饰网上商店:BODYCHECK
2019/09/15 全球购物
书香校园建设方案
2014/05/02 职场文书
医德医魂心得体会
2014/09/11 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
《小蝌蚪找妈妈》教学反思
2016/02/23 职场文书
Python语法学习之进程的创建与常用方法详解
2022/04/08 Python
Go语言安装并操作redis的go-redis库
2022/04/14 Golang