新选项卡始终打开,即使是普通表单提交



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

我的问题是:

  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>

删除

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>

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

<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>

最新更新