2011-07-29 31 views
1

私は1ページに2つ以上のフォームを持っています。PHPフォーム、1ページに複数のフォームを使用するには?

<form method="post" > 
    <table border="0"> 
    <tr> 
     <td>&nbsp;</td> 
     <td>&nbsp;</td> 
    </tr> 
    </table> 
<input type="submit" value="get" /> 
</form> 

<form method="post" > 
    <table border="0"> 
    <tr> 
     <td>&nbsp;</td> 
     <td>&nbsp;</td> 
    </tr> 
    </table> 
<input type="submit" value="get1" /> 
</form> 

これらのフォームは類似していますが内容は異なります。

あるフォームでgetボタンをクリックすると、他のすべてのフォームもトリガーされます。

フォームを区別する方法はありますか?そのボタンをクリックすると、そのボタンがトリガーされるフォームのみが表示されるようになりますか?

編集:私はgetget1にフォームを押した場合も、あなたは複数のフォームを送信することはできません

おかげ

答えて

5

送信ボタンが含まれているフォームのみを表示する必要があります。両方のフォームをHTMLで正しく閉じていますか?

ページへのリンクを貼ったり、すべてのHTMLを貼り付けることはできますか?

+0

はい、あなたは正しいです。私の愚か者、私は自分のhtmlを台無しにしていた。ありがとう – Patrioticcow

2

をトリガします、あなたの最初の形式はちょうどおそらく誤ってあなたの原因となる、閉じられましたトラブル

2

あなたのコードは、のような...

if(!empty($_POST)) {} 

を設定されている場合は、両方のフォームが提出されているように、それは思われるでしょうが、本当にあなたが実際に提出されたフォームからのデータのみをアクセスすることができます。 2つの送信ボタンに名前をつけたら、$_POST['submitButtonName']をテストできます。

このページを使用すると、違いを簡単に確認できます。

http://pastie.org/pastes/2290937/text

0

は、このコードはあなたを助けることを願っています。 フォームを使用する場合は、javascriptまたはjqueryを使用してください。 私の場合、jqueryを選択します。 私の解決策の例がここにあります。 formidとobjectidを変更する必要があります。

$("#buttonid").click(function() { 
    $("#formid").submit(); 
}); 
0

あなたのページには、実際には1つのフォームしかありません。

フォームを一意に識別する名前とIDをそれぞれのフォームに付ける必要があります。

<form name="form1" id="form1" method="post" action="">は、それぞれのフォームを異なるものにする方法です。送信ボタン以外のコントロールを使用してフォームを送信する必要がある場合があるため、これは重要です。このコードドロップダウンリストのOnChangeイベントで考えてみましょう:「)document.forms.form1.submit(」

これは、フォームは、すぐに値がドロップダウンリストに選ばれるよう提出するようになります。高度な機能を使用するには、フォームの名前が何であるかを知る必要があります。フォームのIDは、document.getElementById('form1')

を使用してアクセスできます。最後に、フォームを表示するためにテーブルを使用しないでください。 CSSを使用してください。

私はこれが誰かを助けてくれることを願っています。

関連する問題