• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【HTML(PHP?)】複数のフォームと複数の実行ボタン(submit)

【HTML(PHP?)】複数のフォームと複数の実行ボタン(submit)の扱いについて

このQ&Aのポイント
  • HTML(PHP使用)に関する質問です。画像を使用して、複数のフォームと複数の実行ボタン(submit)の扱いについて教えてください。
  • 質問内容は、クリックしたボタンによってPOSTで次のページに情報を送信する方法についてです。特に、一つ目のボタンは正常に送信できるが、二つ目のボタンは送信されないという問題が発生しています。
  • 質問者は、javascriptを使用せずにPHPのみで実装する方法を知りたいとしています。フォームタグやPOSTの受け取り先に問題はないとのことです。

質問者が選んだベストアンサー

  • ベストアンサー
  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.3

> 押されたsubmitがどれかによって処理を分岐させる方法を、 これのみであれば、要は ↓ みたいな事でしょうか? <? print_r($_POST); $me = $_SERVER[PHP_SELF]; print " <form action=$me method=post> <input type=text name=a value='え~'> <input type=text name=b value='びー'> <input type=submit name=SubmitA value='再検索'> <input type=submit name=SubmitB value='結果表示'> </form>"; if ($_POST[SubmitA]) { print "サーチ分岐"; // include "search.php"; } elseif ($_POST[SubmitB]) { print "リザルト分岐"; // include "result.php"; } ?>

koucha714
質問者

お礼

ありがとうございました。 多少ゴリ押しながら、満足できる結果が返ってきました。 本当にありがとうございます。

その他の回答 (3)

  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.4

#3です。 画面を見る限り違うと思いますし、 かなり昔の事なもんで記憶が曖昧ですが、 一部の携帯電話では「一つのformには一つのsubmitしか存在してはいけない」みたいのがあって、 それで、ややこしい事になった事がありました。 今のPCのブラウザであれば、一つのformの中にsubmitが複数あっても大丈夫なはずです。

  • kenken951
  • ベストアンサー率33% (9/27)
回答No.2

#1の人のに補足して inputタグのtype="hidden"を利用して隠しフィールドを使って AとBが変更されたときに隠しフィールドに値をいれるJavaScriptを用意すればいいだけです。さほど難しい処理ではありません。 formは入れ子処理ができないのでこうするしか処理方法が内でしょう。

koucha714
質問者

お礼

ありがとうございます。 javascriptを利用したページ作成の際には参考にさせていただきます。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

別フォームにしている時点でjavascript抜きでは無理。 同じフォームに入れればsubmitにつけたnameが送り先にわたります。 別フォームが前提ならjavascriptで処理してください。

koucha714
質問者

お礼

一応javascript無しでどうにかなりました。 現時点ではjavascriptを使わなかったのですが、 javascriptが絡むページ作成で困ったことがあったらよろしくお願いします。

koucha714
質問者

補足

大変遅くなりましたが、 フォームは <form action="searchresult.php" method="post" name ="searchres"> というフォームに変更し、ひとつだけにしました。 また、そのひとつのフォームにあの2つのsubmitを入れてあります。

関連するQ&A

専門家に質問してみよう