多个提交按钮 php 不同的操作

2022-08-30 14:45:51

我有一个网站开始,我想有2个单独的提交按钮,其中一个将获取输入的数据并对其进行一些计算以显示在同一屏幕上。我已经成功地与以下方面合作:

<form id="form1" name="form1" method="post" onsubmit="" onreset="" action="programname.php">
<input type="submit" name="calc" value="Find Angle">

然后我使用:

if (!isset($_POST['submit'])){
Do actions, display calculations}

现在,我想要第二个提交按钮,该按钮仍可获取他们输入的数据,但随后转到其他地址。有没有一种优雅的方法来做到这一点?


答案 1

您可以向新的提交按钮添加一个方法,该方法将更改表单的操作,然后提交表单。onclick

<script type="text/javascript">
  function submitForm(action) {
    var form = document.getElementById('form1');
    form.action = action;
    form.submit();
  }
</script>

...

<form id="form1">
  <!-- ... -->
  <input type="button" onclick="submitForm('page1.php')" value="submit 1" />
  <input type="button" onclick="submitForm('page2.php')" value="submit 2" />
</form>

答案 2

您可以通过在按钮属性 中使用 formaction=“page1.php” 来更改表单操作。

<form id="form1" name="form1" method="post" onsubmit="" onreset="" action="programname.php">
    <input type="submit" name="calc" value="Find Angle">

    <input type="button" type="submit" formaction="page1.php">Action 0</button>
    <input type="button" type="submit" formaction="page2.php">Action 1</button>
</form>

注意:在 Internet Explorer 9 及更早版本中不支持按钮标记的 formaction 属性。


推荐