js关闭模态窗口刷新父页面或跳转页面

 更新时间:2012年12月13日 09:39:54   作者:  
点击按钮时,弹出B窗口(模态)。在B窗口中添加数据,提交后,要求B窗口自关闭,然后刷新A窗口(父),需要的朋友可以了解下

有两个窗口: 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 arguments 传递给函数的隐含参数

    javascript arguments 传递给函数的隐含参数

    众所周知,js是脚本语言,脚本语言的一个特点就是极其灵活。有时“灵活”到使我这种习惯c系主流语言的人不得不佩服脚本的强大。比如这里要讲到的 arguments参数。
    2009-08-08
  • js实现的四级左侧网站分类菜单实例

    js实现的四级左侧网站分类菜单实例

    这篇文章主要介绍了js实现的四级左侧网站分类菜单,实例分析了javascript操作页面元素实现tab切换的相关技巧,需要的朋友可以参考下
    2015-05-05
  • JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容

    JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容

    这篇文章主要介绍了js获取鼠标坐标并且根据鼠标位置不同弹出不同内容的实例代码,需要的朋友可以参考下
    2017-06-06
  • JavaScript类型系统之正则表达式

    JavaScript类型系统之正则表达式

    正则又叫规则或模式,是一个强大的字符串匹配工具。javascript通过RegExp类型来支持正则表达式,本文给大家介绍javascript类型系统之正则表达式,对js正则表达式相关知识感兴趣的朋友一起学习吧
    2016-01-01
  • 使用bootstrap validator的remote验证代码经验分享(推荐)

    使用bootstrap validator的remote验证代码经验分享(推荐)

    这篇文章主要介绍了使用bootstrap validator的remote验证器验证经验分享(推荐)的相关资料,本文介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • 学习Javascript面向对象编程之封装

    学习Javascript面向对象编程之封装

    这篇文章主要帮助大家学习Javascript面向对象编程之封装,由浅入深的介绍了封装的概念定义,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • 学习JavaScript正则表达式

    学习JavaScript正则表达式

    这篇文章主要介绍了JavaScript正则表达式,详细深入的了解JavaScript正则表达式,从而更熟练掌握JavaScript正则表达式,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • Javascript从数组中随机取出不同元素的两种方法

    Javascript从数组中随机取出不同元素的两种方法

    这篇文章给大家分享了两种Javascript从数组中随机取出不同元素的方法,大家可以都学习学习,这样更能有助于大家的学习和理解,下面来一起看看吧
    2016-09-09
  • JavaScript实现计数器基础方法

    JavaScript实现计数器基础方法

    这篇文章主要为大家详细介绍了JavaScript实现计数器的基础方法
    ,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • JavaScript作用域链示例分享

    JavaScript作用域链示例分享

    作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域链的工作原理。今天这篇文章对JavaScript作用域链作简单的介绍,希望能帮助大家更好的学习JavaScript。
    2014-05-05

最新评论