showModalDialog取得父窗口

通常使用window.open的方式开启新窗口的话
要取得父窗口的控件,可以用window.opener来取得父窗口

然而如果使用showModalDialog的话...却无效
如果有需要的话,需要修改开启的语法以及showModalDialog中的语法

开启语法第2个参数请下self,范例如下

var rc=window.showModalDialog(strURL,self,sFeatures);

然后接着就是呼叫父窗口的语法

var pWindow=window.dialogArguments;

这样就可以取得父窗口的window对象控制了。例如:

window.dialogArguments.document.getElementsByName("processId")[0].value;

------------------------------------------

父窗口代码:window.showModalDialog('login.jsp', window);//这个window作为参数传递到子窗口,当登录成功后可通过这个对象刷新父窗口
子窗口代码:
window.dialogArguments.document.location.reload();//刷新父窗口
window.close(); //关闭自己

还有一个关键代码:
<base target="_self">
如果不加这段代码,在登录返回之后会打开一个新窗口

你可能感兴趣的:(jsp)