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 相关文章推荐
传智播客学习之java 反射
Nov 22 Javascript
关于Aptana Studio生成自动备份文件的解决办法
Dec 23 Javascript
jQuery powerFloat万能浮动层下拉层插件使用介绍
Dec 27 Javascript
jquery的ajax()函数传值中文乱码解决方法介绍
Nov 08 Javascript
JS实现网页标题随机显示名人名言的方法
Nov 03 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
Oct 27 Javascript
使用jQuery操作DOM的方法小结
Feb 27 Javascript
vue中引用阿里字体图标的方法
Feb 10 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
May 26 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
Aug 27 Javascript
使用Node.js实现一个多人游戏服务器引擎
Mar 13 Javascript
手把手教你实现 Promise的使用方法
Sep 02 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
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
2014/05/08 PHP
基于JavaScript实现 获取鼠标点击位置坐标的方法
2013/04/12 Javascript
在页面上用action传递参数到后台出现乱码的解决方法
2013/12/31 Javascript
Nodejs使用mysql模块之获得更新和删除影响的行数的方法
2014/03/18 NodeJs
node爬取微博的数据的简单封装库nodeweibo使用指南
2015/01/02 Javascript
jquery模拟进度条实现方法
2015/08/03 Javascript
Javascript BOM学习小结(六)
2015/11/26 Javascript
jQuery实现的倒计时效果实例小结
2016/04/16 Javascript
详解js中call与apply关键字的作用
2016/11/21 Javascript
vue-cli项目中怎么使用mock数据
2017/09/27 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
微信小程序实现搜索功能
2020/03/10 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
2020/05/19 jQuery
jQuery实现简单全选框
2020/09/13 jQuery
[02:58]献给西雅图的情书_高清
2014/05/29 DOTA
[50:45]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第一场
2018/04/10 DOTA
图文讲解选择排序算法的原理及在Python中的实现
2016/05/04 Python
python机器学习理论与实战(四)逻辑回归
2018/01/19 Python
MNIST数据集转化为二维图片的实现示例
2020/01/10 Python
html5版canvas自由拼图实例
2014/10/15 HTML / CSS
美国著名珠宝品牌之一:Jared The Galleria Of Jewelry
2016/10/01 全球购物
英国健身超市:Fitness Superstore
2019/06/17 全球购物
VC++笔试题
2014/10/13 面试题
阿尔卡特(中国)的面试题目
2014/08/20 面试题
给民警的表扬信
2014/01/08 职场文书
党员公开承诺践诺书
2014/03/25 职场文书
法院先进个人事迹材料
2014/05/04 职场文书
金融保险专业求职信
2014/09/03 职场文书
2014领导班子四风剖析对照检查材料思想汇报
2014/09/20 职场文书
酒店财务总监岗位职责
2015/04/03 职场文书
2015年度残疾人工作总结
2015/05/14 职场文书
高中生军训感言
2015/08/01 职场文书
解决numpy和torch数据类型转化的问题
2021/05/23 Python
MySQL中的引号和反引号的区别与用法详解
2021/10/24 MySQL
Python基础 括号()[]{}的详解
2021/11/07 Python
国际最新研究在陨石中发现DNA主要成分 或由陨石带来地球
2022/04/29 数码科技