我目前有一个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 是否可以知道哪个按钮触发了它?
答案 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按钮是否已触发