当前位置: 代码迷 >> Web前端 >> showModalDialog()的提交弹出新网页的解决办法
  详细解决方案

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

热度:563   发布时间:2012-10-31 14:37:32.0
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(); //关闭自己

  相关解决方案