0

我有一个关于表格的问题。我创建了一个带有动作的表单,表单内部有两个按钮,一个用于提交表单,一个用于提交但也提交到不同的 php 文件,我该怎么做?这是我的代码:

<form action="viewmember.php">
<input type="text" value="Clyde">
<input type="submit" value="View" id="viewbutton">
<input type="submit" value="Delete" id="deleteButton">
 </form>

viewbutton 有效,但我想要发生的是当我单击 deletebutton 时,它会提交到不同的 php 文件,比如说 delete.php 。如果您问为什么我在带有 addmember 操作的表单中包含 deletebutton 是,当我单击 deletebutton 时,我还可以获得值为“Clyde”的文本字段的值。

4

5 回答 5

6

Give it a name:

<form action="viewmember.php" method="POST"> 
<input type="text" value="Clyde">
<input type="submit" name="action" value="Add" id="viewbutton">
<input type="submit" name="action" value="Delete" id="deleteButton">
 </form>

Then

<?php

$action = $_POST['action'];

if($action == "Add")
{
   // add
}
elseif($action == "Delete")
{
   // delete
}

?>
于 2012-10-26T14:02:42.510 回答
1

You would need some javascript magic.

$(function(){
     var form = $('form').on('submit', function(){
          return false;
    });
    $('input[value="View"]', form).on('click', function(){
          form.attr('action', 'viewmember.php')[0].submit();
    });
    $('input[value="Delete"]', form).on('click', function(){
          form.attr('action', 'deletemember.php')[0].submit();
    });
});

Above is all untested, but in theory, it should work.

于 2012-10-26T14:03:39.130 回答
0

An HTML form always has one action. If you need to provide different actions from one form use something like a controller dispatcher, which reads the button values and processes accordingly.

于 2012-10-26T14:02:42.430 回答
0

您可以做的是拥有一个 php 文件,而不是拥有两个单独的 php 文件。然后在该文件中,您有:

<?php if (isset($_POST['View'])) { Do all your view stuff here } ?>

那么你可以做另一个:

<?php if (isset($_POST['Delete'])) { Do delete stuff here } ?>

请记住,您需要在表单中添加一个方法,POST 或 GET。在这种情况下,您将需要使用 POST。

我猜这是一种方法。

于 2012-10-26T14:04:52.243 回答
0

你可以添加这个。它会工作

 <form action="viewMember.php" name='form1"><input type="submit" onclick="form1.action='otherUrl'; return true;" /><input type="submit"/></form>
于 2018-10-26T10:20:03.853 回答