弹出模态窗口关闭刷新父窗体
今天在做项目的时遇到一个弹出模态窗体的问题,只要是做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:具体什么原因暂时还没去弄……)