我有两个JavaScript函数,如下所示

    <body>
       <script language="javascript">
     function generate(){
                            var table = document.getElementById('my_table');
                            var rowCount = table.rows.length;
                            var f = document.form;
                            f.target = "_blank";
                            f.method="post";
                            f.action='ViewPO.jsp?rowCount='+rowCount;
                            f.submit();

                        }
    function generate1(){
                        var table = document.getElementById('my_table');
                        var rowCount = table.rows.length;
                        var f = document.form;
                        f.method="post";
                        f.action='purchaseAction.jsp?rowCount='+rowCount;
                       // f.submit();
                    }
<input type="submit" value="Save" onclick="generate1()" />
                            <input type="submit" value="View PO" onclick="generate()"/>


我为一个JavaScript函数指定了f.target="_blank"。当我单击“查看PO”按钮时,它在浏览器的另一个选项卡中打开,这非常好。但是当我关闭该选项卡并立即单击“保存”时,它也是在浏览器的另一个标签中打开我不需要它的意思是应该在同一标签中打开页面。因此任何帮助将不胜感激。

最佳答案

这是因为调用generate会将targetform值设置为_blank,此值将保存到表单的属性中,因此在调用generate1时它将使用相同的目标值。

因此,只需重置targetgenerate1属性的值

function generate1() {
  var table = document.getElementById('my_table');
  var rowCount = table.rows.length;
  var f = document.form;
  f.method = "post";
  f.target = "";
  f.action = 'purchaseAction.jsp?rowCount=' + rowCount;
  // f.submit();
}

09-25 16:29