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 相关文章推荐
破除网页鼠标右键被禁用的绝招大全
Dec 27 Javascript
JavaScript 常用函数库详解
Oct 21 Javascript
Extjs显示从数据库取出时间转换JSON后的出现问题
Nov 20 Javascript
ECharts仪表盘实例代码(附源码下载)
Feb 18 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
Jan 10 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
Jul 04 Javascript
JavaScript中如何判断一个值的类型
Sep 15 Javascript
Angular实现的table表格排序功能完整示例
Dec 22 Javascript
jQuery实现判断上传图片类型和大小的方法示例
Apr 11 jQuery
jquery使用FormData实现异步上传文件
Oct 25 jQuery
从组件封装看Vue的作用域插槽的实现
Feb 12 Javascript
typescript编写微信小程序创建项目的方法
Jan 29 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
PHP 木马攻击防御技巧
2009/06/13 PHP
PHP中文件上传的一个问题
2010/09/04 PHP
PHP查询数据库中满足条件的记录条数(两种实现方法)
2013/01/29 PHP
smarty中js的调用方法示例
2014/10/27 PHP
PHP 获取指定地区的天气实例代码
2017/02/08 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
2019/08/27 PHP
关于Laravel-admin的基础用法总结和自定义model详解
2019/10/08 PHP
扩展jQuery 键盘事件的几个基本方法
2009/10/30 Javascript
jquery ajax属性async(同步异步)示例
2013/11/05 Javascript
js拖拽一些常见的思路方法整理
2014/03/19 Javascript
JQuery选择器绑定事件及修改内容的方法
2015/01/23 Javascript
JS实现文字放大效果的方法
2015/03/03 Javascript
jQuery+CSS3实现四种应用广泛的导航条制作实例详解
2016/09/17 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
node.js中使用Export和Import的方法
2017/09/18 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
2018/02/03 Javascript
vue项目中api接口管理总结
2018/04/20 Javascript
基于nodejs res.end和res.send的区别
2018/05/14 NodeJs
vue动态注册组件实例代码详解
2019/05/30 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
js中forEach,for in,for of循环的用法示例小结
2020/03/14 Javascript
python使用Tkinter显示网络图片的方法
2015/04/24 Python
python抽象基类用法实例分析
2015/06/04 Python
Flask框架响应、调度方法和蓝图操作实例分析
2018/07/24 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
Eyeko美国:屡获殊荣的睫毛膏、眼线笔和眉妆
2018/07/05 全球购物
Jones Bootmaker官网:优质靴子和鞋子在线
2020/11/30 全球购物
车祸赔偿收入证明
2014/01/09 职场文书
残疾人创业典型事迹
2014/02/01 职场文书
实习单位指导教师评语
2014/12/30 职场文书
清明节寄语2015
2015/03/23 职场文书
2015年社区计生工作总结
2015/04/21 职场文书
暂停营业通知
2015/04/25 职场文书
2015年禁毒工作总结
2015/04/30 职场文书
Python离线安装openpyxl模块的步骤
2021/03/30 Python
python套接字socket通信
2022/04/01 Python