• ベストアンサー

FORMでデータを渡す

アーティストのデータベースを作っています。 formを使いデータを渡すことは成功しているのですが・・・ <FORM name="form1" method="post" action="syousai.php"> サザンオールスターズ詳細画面へ<BR> <INPUT type="submit" name="search_key" value="<?=$rs['id']?>"> submitでボタンをクリックすると詳細ページへ飛んで詳細画面を自動生成させています。 アーティストごとにそれぞれIDをセットしているのですが、そのIDをsyousai.phpに渡して詳細画面を作っています。(そのIDからデータベースに検索をかけて探して表示する。) 「サザンオールスターズ」をクリックしたらサザンの詳細ページを表示するようにしたいのですが、今はアーティストごとのIDの書かれたボタンをクリックしたときだけ詳細画面へ飛ぶようにしかできません。 そこで質問なのですが、valueは2つ設定できるのでしょうか?? ボタンの名前はサザンで、POSTするデータはIDにしたいんです。 とても説明がへたですみません>< 初心者です。 ご協力お願いいたします。

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

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

できません。 submitに名前をつけて送る場合は、valueがおくられます。 submitの表示情報はvalueですので、表示と送る物を返る事は困難です。 idはhiddenで埋めておいて、submitはトリガーとしてのみ利用することを オススメします。 (formが複数にわかれるためスタイルシートなどで見栄えは調整する) <style type="text/css"> form{display:inline;} </style> <form method="post" action="syousai.php"> <input type="hidden" name="search_key" value="sas"> <input type="submit" value="サザンオールスターズ"> </form> <form method="post" action="syousai.php"> <input type="hidden" name="search_key" value="elt"> <input type="submit" value="エブリリトルシング"> </form> <form method="post" action="syousai.php"> <input type="hidden" name="search_key" value="dtc"> <input type="submit" value="ドリームズカムトゥルー"> </form> もしくは、ボタンを使ってjavascriptで送る <form method="post" action="syousai.php"> <input type="hidden" name="search_key" value=""> <input type="button" value="サザンオールスターズ" onClick="this.form.search_key.value='sas';this.form.submit()"> <input type="button" value="エブリリトルシング" onClick="this.form.search_key.value='elt';this.form.submit()"> <input type="button" value="ドリームズカムトゥルー" onClick="this.form.search_key.value='dct';this.form.submit()"> </form>

loslobos
質問者

お礼

javascriptを使って解決しました!! ありがとうございました^^ シンプルに解決できました。 質問してよかったです。 どうも^^

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • syuuiwsd
  • ベストアンサー率56% (17/30)
回答No.1

できると思います。 syousai.phpで、$_POST['search_key']の値は元のページで押されたボタンのvalueです。 ちなみに、value="<?=$rs['id']?>"という表現仕方は見たことがありません。希望とおりいけるかどうか知りません。 value="<?echo $rs['id'];?>"> のほうが確実だと思います。 ご参考まで

すると、全ての回答が全文表示されます。

関連するQ&A