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 isPrototypeOf和hasOwnProperty使用区别
Mar 04 Javascript
jquery 学习之二 属性 文本与值(text,val)
Nov 25 Javascript
js限制文本框输入长度两种限制方式(长度、字节数)
Dec 19 Javascript
简洁Ajax函数处理(示例代码)
Nov 15 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
Jan 12 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
Dec 22 Javascript
深入理解Commonjs规范及Node模块实现
May 17 Javascript
JS实现新建文件夹功能
Jun 17 Javascript
require.js中的define函数详解
Jul 10 Javascript
深入理解Vue nextTick 机制
Apr 28 Javascript
vue底部加载更多的实例代码
Jun 29 Javascript
15个顶级开源JavaScript框架和库
Oct 10 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
第九节 绑定 [9]
2006/10/09 PHP
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
php连接mysql数据库代码
2009/03/10 PHP
PHP中将ip地址转成十进制数的两种实用方法
2013/08/15 PHP
phpExcel中文帮助手册之常用功能指南
2014/08/18 PHP
layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
2018/05/12 PHP
PHP+redis实现的购物车单例类示例
2019/02/02 PHP
div模拟滚动条效果示例代码
2013/10/16 Javascript
浅析Node在构建超媒体API中的作用
2014/07/30 Javascript
js 实现省市区三级联动菜单效果
2017/02/20 Javascript
canvas绘图不清晰的解决方案
2017/02/28 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
vue loadmore 组件滑动加载更多源码解析
2017/07/19 Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
2018/03/09 Javascript
Vue+ElementUI使用vue-pdf实现预览功能
2019/11/26 Javascript
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
[54:24]Optic vs TNC 2018国际邀请赛小组赛BO2 第二场
2018/08/18 DOTA
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
Python中Collections模块的Counter容器类使用教程
2016/05/31 Python
Python递归函数定义与用法示例
2017/06/02 Python
Python实现读取txt文件并转换为excel的方法示例
2018/05/17 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
2018/07/12 Python
Python 类的魔法属性用法实例分析
2019/11/21 Python
Python操作MongoDb数据库流程详解
2020/03/05 Python
python3 自动打印出最新版本执行的mysql2redis实例
2020/04/09 Python
解决reload(sys)后print失效的问题
2020/04/25 Python
CSS3绘制圆角矩形的简单示例
2015/09/28 HTML / CSS
英国儿童图书网站:Scholastic
2017/03/26 全球购物
Kent & Curwen:与大卫·贝克汉姆合作
2017/06/13 全球购物
巴西婴儿用品商店:Bebe Store
2017/11/23 全球购物
波兰办公用品和学校用品在线商店:Dlabiura24.pl
2020/11/18 全球购物
全球性的众包图形设计市场:DesignCrowd
2021/02/02 全球购物
请介绍一下Ant
2016/07/22 面试题
绘画设计学生的个人自我评价
2013/09/20 职场文书
党的群众路线教育实践活动个人对照检查材料(公安)
2014/11/05 职场文书
Redis基本数据类型Set常用操作命令
2022/06/01 Redis