在一个提交按钮中传递多个数据

时间:2014-02-28 16:43:42

标签: php html forms

我有一个数据表,其中包含网站上的实体列表。该列表有“动作”按钮,如“编辑”,“删除”和“启用/禁用”(它是一个切换按钮,但这在这里无关紧要)。编辑按钮实际上是一个假装是按钮的链接,所以让我们打折,但是删除和启用按钮需要传回一个完全需要删除或启用的脚本。理想情况下,这需要在一个“动作”参数下。有一个<form>包含整个表格。

在下面的代码中,我非常详细地解释了我的实际代码,并且我通常使用PHP框架和模板引擎。但是,出于这些示例的目的,我将尽可能使用普通的PHP。 (这个问题与PHP没有直接关系,它是非常多的HTML和表格。)

以下是我的数据表中一行的示例:

<tr>
    <td><?php echo $item->name; ?></td>
    <td>
        <a href="edit.php?id=<?php echo $item->id; ?>" class="btn btn-default">Edit</a>
        <button type="submit" name="delete" value="<?php echo $item->id; ?>"></button>
    </td>
</tr>

所以现在我需要添加一个启用按钮:

<tr>
    <td><?php echo $item->name; ?></td>
    <td>
        <a href="edit.php?id=<?php echo $item->id; ?>">Edit</a>
        <button type="submit" name="enable" value="<?php echo $item->id; ?>"></button>
        <button type="submit" name="delete" value="<?php echo $item->id; ?>"></button>
    </td>
</tr>

此时,处理此问题的脚本看起来最终会有很多if (isset($_POST['delete']))类型的行,因为我需要为每个操作添加一个新行,所以我想我会发送作为参数的动作也是如此。现在我有两个选择:

<button type="submit" name="action[enable]" value="<?php echo $item->id; ?>"></button>
<button type="submit" name="action[delete]" value="<?php echo $item->id; ?>"></button>

<button type="submit" name="action[<?php echo $item->id; ?>]" value="enable"></button>
<button type="submit" name="action[<?php echo $item->id; ?>]" value="delete"></button>

条件:

  • 我想依赖JavaScript为我做任何事情,所以没有'onclick设置两个不同的隐藏输入值'请
  • 我想使用这种方法,我在某个键=&gt;值对中以某种方式说action=delete, id=3,但当然如果有更好的方法那么请告诉我

所以,我的问题:

  • 这两个选项中最好的是什么?
  • 有没有理由去找另一个?
  • 还有其他我没想过的东西吗?

0 个答案:

没有答案