首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

方式窗口提交表单时竟然弹出新窗口

2012-10-19 
模式窗口提交表单时竟然弹出新窗口模式窗口提交表单时竟然弹出新窗口今天在工作中,发现我的模式窗口在提交

模式窗口提交表单时竟然弹出新窗口

模式窗口提交表单时竟然弹出新窗口

今天在工作中,发现我的模式窗口在提交表单数据时总是会弹出一个新窗口,我对JS代码检查了好久,甚至对后台的代码都检查过了,依然弄不明白。后来在网上一查,原来这是模式窗口的问题,要解决它有多种方法:

1.在页面的head标签中,添加<base target=”_self”>

这个方法最简单,我就是添加这么一句,就轻松搞定。另外补充一点,HTML官方文档描述中写道,当使用时,BASE 元素必须出现在文档的 HEAD 内,在任何对外部源的引用之前。

参考代码

<!DOCTYPE HTML PUBLIC ”-//W3C//DTD HTML 4.0 Transitional//EN”>
<html>
    <head>
        <title>这个是标题</title>
        <meta name=”GENERATOR” content=”Microsoft Visual Studio .NET 7.1〃>
        <meta name=”ProgId” content=”VisualStudio.HTML”>
        <meta name=”Originator” content=”Microsoft Visual Studio .NET 7.1〃>
        
        <meta http-equiv=”Pragma” content=”no-cache”>
        <meta http-equiv=”no-cache”>
        <meta http-equiv=”Expires” content=”-1〃>
        <meta http-equiv=”Cache-Control” content=”no-cache”>
        <link href=”styles/oa/css.css” rel=”stylesheet” type=”text/css” />
        
        <base target=”_self” />
        
        <script language=”javascript”>
            function Load(){
                alert(“say Hello!”);            
            }
        </script>
    </head>
……………………………………………………

2.使用架iframe可以避免页面在新窗口中打开。由于showModalDialog()是不能够提交给自己的,提交给自己的话就会有新页面产生,所以你要指写form里的target等于一个值。 在showModalDialog()打开的子窗口的表单中:<form target=meizz action=hello.jsp …> ,然后在页面中再加入一个隐藏的iframe:

<iframe name=meizz width=0 height=0 frameborder=0 style=”display: none”><iframe>

 

3.我的错误是在form 哪里加了target="self",如这样示: <form action="/baseLibraryAction.do?method=saveFeedBack" method="post" target="self"> 。却没有在js 全局中加上window.name = "self",提交表单同样会弹出窗口。把target="self"去掉,再在head标签中 加上<base target=”_self”>

热点排行