确定哪个按钮触发了Form Post

时间:2016-11-10 11:11:07

标签: php html

我目前有一个form的页面,例如:

<form method="post">
    <input name="data1" type="hidden" value="x">
    <input name="data2" type="hidden" value="y">

    <button name="button1" formaction="page1.php">Do something</button>
    <button name="button2" formaction="page2.php">Do something else</button>

</form>

为了整理这个,我想将page1和page2合并为一个,但我需要能够识别哪个按钮触发了它。所以我会有这样的事情:

<form method="post">
    <input name="data1" type="hidden" value="x">
    <input name="data2" type="hidden" value="y">

    <button name="button1" formaction="page.php">Do something</button>
    <button name="button2" formaction="page.php">Do something else</button>
</form>

page.php 是否可以知道哪个按钮触发了它?

4 个答案:

答案 0 :(得分:2)

<form />这里没有任何改变,因为button属性,PHP脚本会知道哪个name被点击了:

<?php
if (isset($_POST['button1'])) {
    echo 'button1 has been clicked!';
} else if (isset($_POST['button2'])) {
    echo 'button2 has been clicked!';
}

答案 1 :(得分:1)

你可以通过javascript完成。

为两个按钮指定相同的类并给出唯一的ID。

点击按钮,调用jQuery。

从相应按钮获取表单操作。

将其设为<form>的{​​{1}}。

提交表格。

  

注意:为了便于理解,会添加警报。

action

答案 2 :(得分:0)

更改要提交的按钮,并检查php文件中post数组中的输入名称。

<form method="post">
    <input name="data1" type="hidden" value="x">
    <input name="data2" type="hidden" value="y">

    <input type="submit" value="Do Something" name="button1" formaction="page.php" />
    <input type="submit" value="Do Something Else" name="button2" formaction="page.php" >
</form>

PHP脚本

if( isset( $_POST[ 'button1' ] ) )
{
  // Do something
}
elseif( isset( $_POST[ 'button2' ] ) )
{
  // Do something else
}

答案 3 :(得分:0)

将ID传递给按钮。对的,这是可能的。 收集值时,请使用:: $value = $_POST ; print_r($value) ;

并检查whcih按钮是否已触发