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 相关文章推荐
createElement动态创建HTML对象脚本代码
Nov 24 Javascript
jquery 插件实现图片延迟加载效果代码
Feb 06 Javascript
jquery.post用法关于type设置问题补充
Jan 03 Javascript
JS更改select内option属性的方法
Oct 14 Javascript
基于JavaScript操作DOM常用的API小结
Dec 01 Javascript
创建一个类Person的简单实例
May 17 Javascript
jQuery获取单击节点对象的方法
Jun 02 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
Jun 20 jQuery
Angular4.0中引入laydate.js日期插件的方法教程
Dec 25 Javascript
javascript中可能用得到的全部的排序算法
Mar 05 Javascript
解决echarts 一条柱状图显示两个值,类似进度条的问题
Jul 20 Javascript
JS监听Esc 键触发事键
Apr 14 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
实现“上一页”和“下一页按钮
2006/10/09 PHP
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
基于Linux调试工具strace与gdb的常用命令总结
2013/06/03 PHP
强烈声明: 不要使用(include/require)_once
2013/06/06 PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
2013/08/07 PHP
php中session过期时间设置及session回收机制介绍
2014/05/05 PHP
php使用curl打开https网站的方法
2015/06/17 PHP
Yii2使用自带的UploadedFile实现的文件上传
2016/06/20 PHP
php上传excel表格并获取数据
2017/04/27 PHP
laravel ORM 只开启created_at的几种方法总结
2018/01/29 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
2019/05/20 PHP
jcarousellite.js 基于Jquery的图片无缝滚动插件
2010/12/30 Javascript
Jquery获取复选框被选中值的简单方法
2013/07/04 Javascript
JS获取IP、MAC和主机名的五种方法
2013/11/14 Javascript
js下拉选择框与输入框联动实现添加选中值到输入框的方法
2015/08/17 Javascript
NodeJs的优势和适合开发的程序
2016/08/14 NodeJs
vue.js 1.x与2.0中js实时监听input值的变化
2017/03/15 Javascript
JavaScript实现的浏览器下载文件的方法
2017/08/09 Javascript
JS实现的A*寻路算法详解
2018/12/14 Javascript
[53:03]Optic vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python中的生成器和yield详细介绍
2015/01/09 Python
Python中的__slots__示例详解
2017/07/06 Python
TensorFlow搭建神经网络最佳实践
2018/03/09 Python
pytorch对可变长度序列的处理方法详解
2018/12/08 Python
Flask框架web开发之零基础入门
2018/12/10 Python
应届生简历中的自我评价
2014/01/13 职场文书
欢送退休感言
2014/02/08 职场文书
《李时珍夜宿古寺》教学反思
2014/04/09 职场文书
房屋租赁协议书范本
2014/04/10 职场文书
《月球之谜》教学反思
2014/04/10 职场文书
个人合伙协议书范本
2014/10/14 职场文书
2015年党性分析材料
2014/12/19 职场文书
毕业生就业推荐表自我评价
2015/03/02 职场文书
技术员岗位职责范本
2015/04/11 职场文书
求职信:求职应该注意的问题
2019/04/24 职场文书
《分一些蚊子进来》读后感3篇
2020/01/09 职场文书