弹出模态窗口关闭刷新父窗体

   今天在做项目的时遇到一个弹出模态窗体的问题,只要是做web开发相信都会遇到这样的问题,现在就来具体的看下这个问题……

   既然需要模态窗口,首先我们需要弹出窗体。

//弹出模态对话框
window.showModalDialog("ShowProjectPic.aspx?picID=" + params.toString(), "", "dialogWidth=430px;dialogHeight=350px;help:no;center:yes;resizable:no;status:no;scroll:no")

  例如:当我们在模态窗体中增删改一条数据,同时需要刷新父窗体从而同步数据。这里我们可以在关闭窗体时传回一个参数,通过判断这个参数进行刷新窗体。代码如下

//关闭模态窗体,returnValue='ok'中的ok为返回值
"javascript:window.opener=null;window.returnValue='ok';window.close(); "

  有了返回值,我们只需要在父窗体中接受这个返回值就可以判断是否刷新父窗体,这里可以将弹出模态对话框的Js代码改成如下代码。

//接受判断返回值
 function openwin(params) {
            if (window.showModalDialog("ShowProjectPic.aspx?picID=" + params.toString(), "", "dialogWidth=430px;dialogHeight=350px;help:no;center:yes;resizable:no;status:no;scroll:no") == 'ok') {
                location.reload(true); //刷新父窗体      
            }
        }

   最后忘记强调了重要一点,即在弹出窗体的<head>标签里面加<base target="_self" /> 标签,这样才能正常关闭对话框(PS:具体什么原因暂时还没去弄……)

posted @ 2012-07-24 17:04  诸葛风流  阅读(3226)  评论(0编辑  收藏  举报