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 延迟加载技术(lazyload)简单实现
Jan 17 Javascript
jQuery实现定时读取分析xml文件的方法
Jul 16 Javascript
JS简单实现无缝滚动效果实例
Aug 24 Javascript
微信小程序开发之录音机 音频播放 动画实例 (真机可用)
Dec 08 Javascript
vue2.0实现导航菜单切换效果
May 08 Javascript
解决vue打包项目后刷新404的问题
Mar 06 Javascript
移动端图片上传旋转、压缩问题的方法
Oct 16 Javascript
详解用场景去理解函数柯里化(入门篇)
Apr 11 Javascript
JS实现点击生成UUID的方法完整实例【基于jQuery】
Jun 12 jQuery
layui的表单提交以及验证和修改弹框的实例
Sep 09 Javascript
js实现div色块碰撞
Jan 16 Javascript
vue基于Teleport实现Modal组件
May 31 Vue.js
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
PHP 生成的XML以FLASH获取为乱码终极解决
2009/08/07 PHP
解析php中session的实现原理以及大网站应用应注意的问题
2013/06/17 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
2016/09/11 PHP
PHP实现的简单组词算法示例
2018/04/10 PHP
jquery下异步提交表单 异步跨域提交表单
2010/11/17 Javascript
DWR3 访问WEB元素的两种方法实例详解
2017/01/03 Javascript
详解Angular之constructor和ngOnInit差异及适用场景
2017/06/22 Javascript
深入解析nodejs HTTP服务
2017/07/25 NodeJs
vue的事件绑定与方法详解
2017/08/16 Javascript
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
element-ui多文件上传的实现示例
2019/04/10 Javascript
JavaScript中var的重要性实例分析
2019/07/09 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
JavaScript中的this/call/apply/bind的使用及区别
2020/03/06 Javascript
python模拟登录百度代码分享(获取百度贴吧等级)
2013/12/27 Python
python中ConfigParse模块的用法
2014/09/29 Python
Django中Forms的使用代码解析
2018/02/10 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
2018/10/31 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
python如果快速判断数字奇数偶数
2019/11/13 Python
解决Jupyter NoteBook输出的图表太小看不清问题
2020/04/16 Python
python接入支付宝的实例操作
2020/07/20 Python
python 动态渲染 mysql 配置文件的示例
2020/11/20 Python
英国鞋类及配饰零售商:Kurt Geiger
2017/02/04 全球购物
料理师求职信
2014/01/30 职场文书
中年人生感言
2014/02/04 职场文书
一年级语文教学反思
2014/02/13 职场文书
教师节促销活动方案
2014/02/14 职场文书
服务员岗位职责
2015/02/03 职场文书
前台接待岗位职责范本
2015/04/03 职场文书
生日宴会家属答谢词
2015/09/29 职场文书
MySQL pt-slave-restart工具的使用简介
2021/04/07 MySQL
教你如何使用Python开发一个钉钉群应答机器人
2021/06/21 Python
Python与C++中梯度方向直方图的实现
2022/03/17 Python
画错魏国疆域啦!《派对咖孔明》动画因作画失误于官网致歉
2022/04/07 日漫
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS