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代码示例(重构前后对比)
Jan 23 Javascript
两种方法实现文本框输入内容提示消失
Mar 17 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
Apr 12 Javascript
javascript在IE下trim函数无法使用的解决方法
Sep 12 Javascript
使用js画图之饼图
Jan 12 Javascript
jQuery javascript获得网页的高度与宽度的实现代码
Apr 26 Javascript
JavaScript中三个等号和两个等号你了解多少
Jul 04 Javascript
让bootstrap的carousel支持滑动滚屏的实现代码
Nov 27 Javascript
angular-tree-component的使用详解
Jul 30 Javascript
微信小程序云开发使用方法新手初体验
May 16 Javascript
JavaScript实现手机号码 3-4-4格式并控制新增和删除时光标的位置
Jun 02 Javascript
vue 授权获取微信openId操作
Nov 13 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使用fgetcsv读取csv文件出现乱码的解决方法
2014/11/08 PHP
php基础教程
2015/08/26 PHP
php使用include 和require引入文件的区别
2017/02/16 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
2019/04/05 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
页面中iframe相互传值传参
2009/12/13 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
页面实时更新时间的JS实例代码
2013/12/18 Javascript
JavaScript输入邮箱自动提示实例代码
2014/01/13 Javascript
基于Jquery实现键盘按键监听
2014/05/11 Javascript
js简单判断移动端系统的方法
2016/02/25 Javascript
AngularJS实现星星等级评分功能
2016/09/24 Javascript
JS仿JQuery选择器功能
2017/03/08 Javascript
jQuery 实现左右两侧菜单添加、移除功能
2018/01/02 jQuery
vue+element表格导出为Excel文件
2019/09/26 Javascript
Javascript实现html转pdf高清版(提高分辨率)
2020/02/19 Javascript
Nuxt页面级缓存的实现
2020/03/09 Javascript
ES6 十大特性简介
2020/12/09 Javascript
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
python操作mysql中文显示乱码的解决方法
2014/10/11 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
2017/08/08 Python
Python机器学习算法库scikit-learn学习之决策树实现方法详解
2019/07/04 Python
Python图像处理模块ndimage用法实例分析
2019/09/05 Python
DataFrame.to_excel多次写入不同Sheet的实例
2019/12/02 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
python 3.8.3 安装配置图文教程
2020/05/21 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
2021/02/22 Python
canvas绘图按照contain或者cover方式适配并居中显示
2019/02/18 HTML / CSS
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
模范家庭事迹材料
2014/02/10 职场文书
小学生倡议书范文
2014/05/13 职场文书
写给同学的新学期寄语
2015/02/27 职场文书
听课评课活动心得体会
2016/01/15 职场文书
Jupyter Notebook 如何修改字体和大小以及更改字体样式
2021/06/03 Python
GPU服务器的多用户配置方法
2022/07/07 Servers