【问题标题】:New tab open always even normal form form submit新选项卡总是打开,甚至正常表单表单提交
【发布时间】:2017-08-14 11:05:20
【问题描述】:

我正在使用两个提交按钮,一个用于在新选项卡中打开页面(预览),另一个用于普通表单提交(发布)。

我的问题是:

  1. 如果我单击预览按钮并在选项卡中打开,在发布按钮之后再次单击新选项卡将打开
  2. 刷新后通常只提交发布按钮。
<form method="post" name="form">
  Name : <br> <input type="text" name="name"/><br />
  Address : <br> <input type="text" name="address"/><br />
  <input name="publish" type="submit" value="Submit" onclick="action='proccess.php?action=submit';"> 
  <input type="submit" value="preview" onclick='formpreview(this.form)'/>
</form>

<script>
  function formpreview(form) 
    form.target = '_blank';
    form.action = 'preview.php';
    form.submit();
  }
</script>

【问题讨论】:

    标签: javascript jquery html forms codeigniter


    【解决方案1】:

    删除

    form.target = '_blank';
    

    target="_blank" 当你想在新标签页中打开网页时给出。

    编辑

    <form method="post" name="form" action="proccess.php?action=submit">
      Name : <br> <input type="text" name="name"/><br />
      Address : <br> <input type="text" name="address"/><br />
      <button type="submit" value="Submit" name="publish" > Publish </button>
      <button type="button" value="preview" onclick='formpreview(this.form)'>Preview</button
    </form>
    

    【讨论】:

    • 实际上我想要两个按钮一个用于预览它在新标签中打开。并发布按钮单击我需要正常提交。按钮,当我先点击预览,然后总是在点击发布时打开新标签
    • 所以不要提交按钮,只需使用普通按钮。
    • 创建一个单独的提交按钮和一个普通按钮在普通按钮上调用你的函数n让提交按钮完成它的工作。
    • 我试过也使用两个按钮,但同样的问题发生在@kishor10d
    • @shyamprasad 我在我的回答中做了一些修改,检查一下
    【解决方案2】:

    您可以检查按钮值,然后根据您的条件提交表单,

    <form method="post" name="form">
      Name : <br> <input type="text" name="name"/><br />
      Address : <br> <input type="text" name="address"/><br />
      <input name="submit" type="submit" value="Submit" onclick="formpreview(this.form,this)"> 
      <input type="submit" value="preview" onclick='formpreview(this.form,this)'/>
    </form>
    
    <script>
      function formpreview(form,btn) {
        alert(btn.value);
        /*form.target='_blank';
        form.action='preview.php';
        form.submit();*/
        if(btn.value=="preview"){
            alert(btn.value);
            form.target='_blank';
            form.action='preview.php';
            form.submit();
        }
        if(btn.value=="Submit"){
            alert(btn.value);
             form.target='_self';
             form.action='proccess.php?action=submit';
             form.submit();
        }
    
      }
    </script>
    

    【讨论】:

    • 我试过这个,但它也有同样的问题..请自己尝试并帮助我。问题是当你点击在同一页面上发布它的作品但如果你点击预览按钮然后它打开新标签和如果我们再次点击发布按钮,它将在新标签中打开。那就是问题所在 。我需要两个按钮单独工作
    • 你能再检查一下吗?现在我已经编辑了我的答案,检查目标属性
    • 非常感谢 ..itgs 工作 ..我遇到问题超过两天 ..非常感谢..
    猜你喜欢
    • 1970-01-01
    • 2014-05-08
    • 2012-11-27
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 2014-09-20
    • 2020-10-31
    相关资源
    最近更新 更多