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 Konami Code 实现代码
Jul 29 Javascript
jQuery 获取浏览器所在的IP地址的小例子
Nov 08 Javascript
jquery实现右键菜单插件
Mar 29 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
Aug 04 Javascript
微信小程序图片选择区域裁剪实现方法
Dec 02 Javascript
vue-cli下的vuex的简单Demo图解(实现加1减1操作)
Feb 26 Javascript
Web安全之XSS攻击与防御小结
Dec 13 Javascript
js取小数点后两位四种方法
Jan 18 Javascript
Javascript的this详解
Mar 23 Javascript
微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析
May 03 Javascript
原生js实现点击轮播切换图片
Feb 11 Javascript
Vue项目配置跨域访问和代理proxy设置方式
Sep 08 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
不用数据库的多用户文件自由上传投票系统(1)
2006/10/09 PHP
PHP正则判断一个变量是否为正整数的方法
2019/02/27 PHP
JS 自动安装exe程序
2008/11/30 Javascript
JavaScript 内置对象属性及方法集合
2010/07/04 Javascript
jQuery效果 slideToggle() 方法(在隐藏和显示之间切换)
2011/06/28 Javascript
js replace替换所有匹配的字符串
2014/02/13 Javascript
jQuery实现平滑滚动页面到指定锚点链接的方法
2015/07/15 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
Bootstrap导航条的使用和理解3
2016/12/14 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
2017/01/23 Javascript
vue2.X组件学习心得(新手必看篇)
2017/07/05 Javascript
Vue中的混入的使用(vue mixins)
2018/06/01 Javascript
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
详解react-refetch的使用小例子
2019/02/15 Javascript
json.stringify()与json.parse()的区别以及用处
2021/01/25 Javascript
[01:25]2014DOTA2国际邀请赛 zhou分析LGD比赛情况
2014/07/14 DOTA
Python类的基础入门知识
2008/11/24 Python
Python中的元类编程入门指引
2015/04/15 Python
由Python运算π的值深入Python中科学计算的实现
2015/04/17 Python
在Python中使用PIL模块处理图像的教程
2015/04/29 Python
Python实现数据库并行读取和写入实例
2017/06/09 Python
Python使用flask框架操作sqlite3的两种方式
2018/01/31 Python
python中threading开启关闭线程操作
2020/05/02 Python
使用pytorch 筛选出一定范围的值
2020/06/28 Python
python try...finally...的实现方法
2020/11/25 Python
西班牙国家航空官方网站:Iberia
2017/11/16 全球购物
儿科护理实习自我鉴定
2013/09/19 职场文书
大学应届生求职简历的自我评价
2013/10/08 职场文书
外语系毕业生求职自荐信
2014/04/12 职场文书
市场营销策划方案
2014/06/11 职场文书
手机被没收的检讨书
2014/10/04 职场文书
西安事变观后感
2015/06/12 职场文书
2019求职信:应届生求职信范文
2019/04/24 职场文书
干货:企业内部人才推荐奖励方案!
2019/07/09 职场文书
利用JuiceFS使MySQL 备份验证性能提升 10 倍
2022/03/17 MySQL
Python用tkinter实现自定义记事本的方法详解
2022/03/31 Python