`

showModalDialog()的提交弹出新网页的解决方法

阅读更多

1.showModalDialog()是不能够提交给自己的,当提交给自己的话就会有新页面产生,所以你要指定form里的target等于一个值。

showModalDialog()里:
<form target=meizz action=aa.asp ...>

在主页面里加一个隐藏的iframe浮动框架:
<iframe name=meizz width=0 height=0 frameborder=0 style="display: none"><iframe>
这样提交就不会有新的页面产生了。

 

  当然还有第二种方法,在头部加入如下代码:

 

  <base target="_self">    //如果不加这段代码,在提交之后会打开一个新窗口

 

2.showModalDialog打开的窗口想访问父窗口的数据的话 

 

window.showModalDialog("filename.htm",window)


在子窗体中用window.dialogArguments得到就是你的父窗体对象,这样就能访问到父窗体数据了.

 

3.给地址中用JS添加一个随机函数,这样就可以确保每次打开页面时都是一个新的页面而不会被缓存了。 

  window.showModalDialog(getUrl+"?Rnd="+Math.random(),window,"dialogWidth:600px;dialogHeight:400px;help:no;scroll:yes;center:yes;status:no;");

 

这个window作为参数传递到子窗口,可通过这个对象刷新父窗口,子窗口刷新父窗口代码:
window.dialogArguments.document.location.reload();//刷新父窗口
window.close(); //关闭自己

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics