php - 一个表单可以有多个 Action 吗?

标签 php html forms action

我想根据表单中所做的选择将表单提交到不同的地方。我原本打算将所有内容发送到一个中央文件/位置,并让它确定下一步要去哪里。但是,如果可以的话,我希望没有这个额外的步骤。

如果用户想要创建/编辑/删除元素,请转到第 1 页。
如果用户想要分组/附加元素,请转到第 3 页。

我正在尝试编写一个表单生成器。您可以创建/编辑/删除表单、问题和答案。我已完成创建、编辑和删除的所有操作。这些功能是在不离开页面的情况下执行的,但现在我希望为特定问题分配答案。问题页面和答案页面是分开的。我想选择一组答案并将一组答案 ID(选中的复选框)提交到问题页面,然后将这些 ID 分配给一个问题。所以基本上创建、编辑和删除功能都可以在不离开页面的情况下打开,但是分配功能将在不同的页面上执行。

if(empty($delRowID) || empty(updateRowID) || empty($groupRows)) {
    qInsert();
}else{
    if(!empty($delRowID)) qDelete($delRowID);
    if(!empty(updateRowID)) qUpdate($updateRowID);
    if(!empty($groupRows)) {
        submit $groupRows to Question.php;
    }
}

最佳答案

没有,一个表单只有一个 Action 。

但是你有选择:

Javascript

但是,您可以使用 javascript 更改 action 属性:

<input type="submit" value="Edit" onclick="editform();return true;">
<input type="submit" value="Delete" onclick="deleteform();return true;">

连同一点 javascript:

function editform() {
    document.myform.action = '/edit';
}
function deleteform() {
    document.myform.action = '/delete';
}

另见

多种形式

如果 javascript 不适合您,您可以考虑在页面中使用多个表单。

Multiple forms = multiple actions

禁用 javascript 的客户端没有问题,并且符合标准。

多个提交按钮 - 服务器端

或者您可以在服务器端处理编辑或删除的区别。不需要 javascript。

向您的表单添加多个提交按钮并为它们指定相同的名称但不同的值:

<input type="submit" name="btSubmit" value="Edit">
<input type="submit" name="btSubmit" value="Delete">

然后您可以检索已单击的按钮的值。在 php 中,应该执行以下操作:

$_POST['btSubmit']

参见 http://www.chami.com/tips/internet/042599I.html以经典的 asp 为例。

关于php - 一个表单可以有多个 Action 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2996806/

相关文章:

javascript - 向表中添加和删除数据 - React

php - Symfony 2 中实体管理器和 phpunit 的问题

php - 如何在 laravel 中使用编码和解码

javascript - jQuery Progress 动画到预定义的宽度 - Multiple Div

html - 填充底部,仅在列表中显示文本

javascript - 根据 Jquery 中的选择选项更改按钮名称 =""和表单操作

javascript - 如何将 Jquery 函数链接到提交按钮并将表单作为输入传递

javascript - Ajax 请求只提交最后一个

php- 命令不适用于 php shell_exec

javascript - Google PageSpeed Insights - 1 个外部 CSS 文件拦截