我在一个表单中有两个提交按钮。如何确定哪一个被击中服务器端?
最佳答案
解决方案 1:
给每个输入一个不同的值并保持相同的名称:
<input type="submit" name="action" value="Update" />
<input type="submit" name="action" value="Delete" />
然后在代码中检查一下是哪个被触发的:
if ($_POST['action'] == 'Update') {
//action for update here
} else if ($_POST['action'] == 'Delete') {
//action for delete
} else {
//invalid action!
}
问题在于您将逻辑与输入中用户可见的文本联系起来。
解决方案 2:
给每个人一个唯一的名称并检查 $_POST 是否存在该输入:
<input type="submit" name="update_button" value="Update" />
<input type="submit" name="delete_button" value="Delete" />
在代码中:
if (isset($_POST['update_button'])) {
//update action
} else if (isset($_POST['delete_button'])) {
//delete action
} else {
//no button pressed
}
https://stackoverflow.com/questions/547821/