0

フォームについて質問があります。アクション付きのフォームを作成しました。フォーム内には2つのボタンがあります。1つはフォームを送信するためのもので、もう1つは別の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をクリックすると、delete.phpなどの別のphpファイルに送信されます。addmemberアクションを使用してフォーム内にdeletebuttonを含める理由を尋ねられた場合、deletebuttonをクリックすると、「Clyde」の値を持つtextfieldの値も取得できるということです。

4

5 に答える 5

6

名前を付けます:

<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>

それで

<?php

$action = $_POST['action'];

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

?>
于 2012-10-26T14:02:42.510 に答える
1

JavaScript マジックが必要です。

$(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();
    });
});

上記はすべてテストされていませんが、理論的には動作するはずです。

于 2012-10-26T14:03:39.130 に答える
0

HTML フォームには常に 1 つのアクションがあります。1 つのフォームから異なるアクションを提供する必要がある場合は、ボタンの値を読み取り、それに応じて処理するコントローラー ディスパッチャーなどを使用します。

于 2012-10-26T14:02:42.430 に答える
0

2 つの個別の php ファイルを用意する代わりに、できることは 1 つの php ファイルを用意することです。次に、そのファイル内に次のものがあります。

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

次に、別のことができます:

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

POST または GET のいずれかのメソッドをフォームに追加する必要があることに注意してください。この場合、POST を使用する必要があります。

それが私が推測する1つの方法です。

于 2012-10-26T14:04:52.243 に答える