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 相关文章推荐
JS判断表单输入是否为空(示例代码)
Dec 23 Javascript
基于jquery实现导航菜单高亮显示(两种方法)
Aug 23 Javascript
jQuery 获取页面li数组并删除不在数组中的key
Aug 02 Javascript
微信小程序 天气预报开发实例代码源码
Jan 20 Javascript
Javascript中将变量转换为字符串的三种方法
Sep 19 Javascript
jquery自定义显示消息数量
Dec 19 jQuery
详解js创建对象的几种方法及继承
Apr 12 Javascript
js中的深浅拷贝问题简析
May 10 Javascript
解决layer.prompt无效的问题
Sep 24 Javascript
vue循环数组改变点击文字的颜色
Oct 14 Javascript
layui前端时间戳转化实例
Nov 15 Javascript
JavaScript中的函数式编程详解
Aug 22 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作的文本留言本的例子(三)
2006/10/09 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
2013/06/06 PHP
PHP实现用session来实现记录用户登陆信息
2018/10/15 PHP
PHP chr()函数讲解
2019/02/11 PHP
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
IE浏览器中图片onload事件无效的解决方法
2014/04/29 Javascript
借助javascript代码判断网页是静态还是伪静态
2014/05/05 Javascript
js弹出框、对话框、提示框、弹窗实现方法总结(推荐)
2016/05/31 Javascript
Django1.7+JQuery+Ajax验证用户注册集成小例子
2017/04/08 jQuery
详解vue.js全局组件和局部组件
2017/04/10 Javascript
vue中将网页打印成pdf实例代码
2017/06/15 Javascript
vue.js中npm安装教程图解
2018/04/10 Javascript
JS实现520 表白简单代码
2018/05/21 Javascript
javascript function(函数类型)使用与注意事项小结
2019/06/10 Javascript
JavaScript面向对象中接口实现方法详解
2019/07/24 Javascript
vue动态子组件的两种实现方式
2019/09/01 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
2019/09/18 Javascript
vue实现选中效果
2020/10/07 Javascript
35个Python编程小技巧
2014/04/01 Python
web.py 十分钟创建简易博客实现代码
2016/04/22 Python
Python random模块用法解析及简单示例
2017/12/18 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
Python工程师面试必备25条知识点
2018/01/17 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
2018/04/05 Python
Python图像处理之gif动态图的解析与合成操作详解
2018/12/30 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
科颜氏美国官网:Kiehl’s美国
2017/01/31 全球购物
NHL官方在线商店:Shop.NHL.com
2020/05/01 全球购物
如何找出EMP表里面SALARY第N高的employee
2013/12/05 面试题
前台接待的工作职责
2013/11/21 职场文书
学习心得体会
2014/01/01 职场文书
党员个人总结范文
2015/02/14 职场文书
2016年度继续教育学习心得体会
2016/01/19 职场文书
实习报告范文
2019/07/30 职场文书
Python基本的内置数据类型及使用方法
2022/04/13 Python