?
在模态窗口中,如有提交按钮,点击后会弹出新的页面。解决此问题有两种方法:?
1、在head中,添加<base target="_self">注意:不要在form中再添加target="_self" 否则失效?
2、把弹出的窗口页面做成框架网页,去加载要展示的网
1、在head中,添加<base target="_self">注意:不要在form中再添加target="_self" 否则失效?
2、把弹出的窗口页面做成框架网页,去加载要展示的网
如果你的浏览器是IE5.5+,可以在对话框中使用带name属性的iframe,提交时可以制定target为该iframe的name。对于IE4+,你可以用高度为0的frame来作:例子,?
? test6.htm?
? ===================?
? <script>?
? ? window.showModalDialog( "test7.htm ")?
? </script>?
? test7.htm?
? ===================?
? if(window.location.search) ? alert(window.location.search)?
? <frameset ? rows= "0,* ">?
? ? <frame. ? src= "about:blank ">?
? ? <frame. ? src= "test8.htm ">?
? </frameset>?
? test8.htm?
? ===================?
? <form. ? target= "_self " ? method= "get ">?
? <input ? name=txt ? value= "test ">?
? <input ? type=submit>?
? </form>?
? <script>?
? if(window.location.search) ? alert(window.location.search)?
? </script>?
3、另外一种解决方法
- First and foremost, add the HTML tag (<base target=”_self” />) to the head sectionof your HTML document. Depending on your method of refreshing the form, adding this tag may be sufficient.
<html> <head> <base target="_self" />
- Next check to see if your modal dialog now correctly refreshes itself.In some cases the modal dialog will still open a new window. For instance if you were using a JavaScript self.location.href= command then you will need to replace this with a simulated hyperlink click event.
- To do so, add a hyperlink to your page that is styled to be invisible (ie: <a href=”" id=”goLocation” style=”display:none;”>).
- Then replace your JavaScript self.document.location.href = ‘test.html’; with a click command to your hidden hyperlink as follows:
document.getElementById('goLocation').href = 'test.html'; document.getElementById('goLocation').click();
参考 :http://jwcooney.com/2011/12/22/showmodaldialog-opens-a-new-window-on-submit-or-location-href/
?
参考 :http://blog.sina.com.cn/s/blog_4c6e822d0100r6jr.html