• ベストアンサー

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にしたいんです。 とても説明がへたですみません>< 初心者です。 ご協力お願いいたします。

  • PHP
  • 回答数2
  • ありがとう数1

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

  • ベストアンサー
  • 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

  • 同一ページで複数のformを扱う場合

    同一のページ内にhiddenでIDを振った削除ボタンを用意しクリックされたIDを取得するにはどのようにすれば良いでしょうか? <form action="/test.php" name="1" method="post"> <input type="hidden" name="id" value="1" /> <input type="submit" name="delete" value="削除"> </form> -- 省略 <form action="/test.php" name="10" method="post"> <input type="hidden" name="id" value="10" /> <input type="submit" name="delete" value="削除"> </form> formにnameを振ってみても最後のIDがPOSTされてしまいます。

    • 締切済み
    • PHP
  • <FORM> </FORM> の中に さらに <FORM> </FORM>があるときのSUBMITボタンについて

    今、 <FORM ACTION="aaa.asp" METHOD="POST" Name="form1"> <input type="SUBMIT" value="ボタン1"> <FORM ACTION="bbb.asp" METHOD="POST" Name="form2"> <input type="SUBMIT" value="ボタン2"> </FORM> </FORM> としていて、ボタン2を押すとbbb.aspに 飛んでほしいのでに、aaa.aspに飛んでしまいます。 こういう場合どのようにすればよいのでしょうか? それぞれのボタンは hidden の値をそれぞれの フォームの中の値を渡したいので どうしてもSubmitがいいのです。

    • ベストアンサー
    • HTML
  • 一つのformで、複数のaction指定

    レイアウトなどの関係で、formの配置が基本とは異なるものになってしまい、うまく動作させる方法が見つからず困っています。 現在は <form> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> </form> …… <form method="POST" action="A.php"> <input type="submit" name="aa" value="あああ"> </form> <form method="POST" action="B.php"> <input type="submit" name="bb" value="いいい"> </form> <form method="POST" action="C.php"> <input type="submit" name="cc" value="ううう"> </form> <form method="POST" action="D.php"> <input type="submit" name="dd" value="えええ"> </form> のようになっていて、チェックボックスの値を送信したいのは、Dのボタンを押したときだけPOSTされるようにしたい状態です。 この値を取得する方法か、もしくは <form method="POST" action="(ボタンに応じたもの)"> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> …… <input type="submit" name="aa" value="あああ"> <input type="submit" name="bb" value="いいい"> <input type="submit" name="cc" value="ううう"> <input type="submit" name="dd" value="えええ"> </form> このように、一つのフォームの中に埋めてしまい、actionに入る値をボタンによって分ける方法はありませんでしょうか? もしくは他の方法でも構いません。 お分かりの方がいましたら、是非ご教授お願いいたします。

    • 締切済み
    • PHP
  • formのボタンをsubmitしたときにアラート

    javascript で、formのボタンをsubmitしたときに アラートが出るようにしたいと思います。 下記のように作ってみましたが、うまく動きません。 どのようにすれば動くでしょうか? ご教示いただきたくお願いいたします。 <script type="text/javascript"> function(){ $('form1').submit(function(){ $.ajax({ type: 'POST', data: postData, url: 'buy.php', success: function(data){alert("購入できました");} error: function(){alert('購入できませんでした。再度お試しください');} }); return false; }); } </script> <form name="form1" id="form1" method="POST" name="form1" value="form1" action="buy.php"> <input type="hidden" name="id" value="100" /> <input type="hidden" name="name" value="高橋" /> <input type="submit" value="Save"> <form/>

  • FORMのIDを指定するとPOSTされない

    フォームの入力チェックをjavascriptで処理するため、FORMにIDをつけたのですが、ボタン押下でチェックが通れば自分自身にPOSTするような形をとっております。しかし、FORMにIDをつけてPOSTをしようとしても、何のアクションも起こりません。IDをはずせばきちんとPOSTされます。原因がわからないので、質問させていただきました。お分かりになる方、ご教授くださいますよう、お願いいたします。 <form id="corpform" method = "POST" action ="自分自身" > <input type="text" name="test" value="test" /> <input type="submit" name="add" value="追加" /> </form>

  • Submitが使えないFormでのデータ送信

    次のようなFORMでSubmitがなくって画像クリックし、次の画面へ いく場合ですが、どういうコードを書けばいいのでしょうか? よろしくお願いします。 <FORM name=myForm action=http://abc.com/abc.cgi method=post> <TD> <INPUT type=hidden value=itemA name=mycmd> <INPUT type=hidden value=9999 name=myid> <INPUT type=image src="/img/image.gif" border=0 name=item> </TD> </FORM>

  • Formの処理分岐について

    一つのフォームにSubmitボタンが二つあり、それぞれ押されたボタンによって別のASPファイルをactionとして設定したいと考えています。 このようなことは可能なのでしょうか。 また、可能な場合、どのようにすれば良いでしょうか。 (ちなみに、次のASPに渡る際、POSTでデータを渡そうと思っています。) <form action="?????.asp" method="POST"> <input type=submit name="aaa" value="1つ"> <input type=submit name="bbb" value="2つ"> </form> 上記の様な状態で、aaaの方のsubmitボタンが押された場合、aaa.aspを、bbbのSubmitボタンが押された場合、bbb.aspをCALLしたいと考えています。 どなたか、教えて頂けますでしょうか。 よろしくお願い致します。

  • FORMで送信ボタンと戻るボタンを2つつけてそれぞれ遷移先を変えたい

       以下のような画面を作りたいのですが↓ -------------------------------------------------------------------------------- ● a.php (ユーザ情報入力画面) ※フォームに入力する画面    <FORM method="POST" action="b.php">   <INPUT type="text" name="mail">   <INPUT type="submit" name="submit" value="確認">  </FORM> ● b.php (ユーザ情報入力確認画面)※フォームに入力された値を表示する画面  <FORM method="POST" action="c.php">   <!-- ここには、フォームに入力された値を表示する -->   <INPUT type="submit" name="submit" value="登録"> // c.php に遷移する   <INPUT type="submit" name="submit" value="戻る"> // a.php に戻る  </FORM> ● c.php (完了画面) -------------------------------------------------------------------------------- b.php について質問なのですが、 b.phpにおいて、登録ボタンと戻るボタンを2つつけて、 それぞれ遷移先を変えたいのですが、どうすればいいんでしょうか・・・? <FORM method="POST" action="c.php">と書いてしまうと、 戻るボタンを押しても戻らずに、c.phpに遷移してしまいますよね?? こういう場合ってJavaScriptとかで遷移先を指定するんですか・・? もしそうでしたら、JavaScriptがよくわからないので できればサンプルコード示していただけると助かります・・・。   

  • FORMのaction先について

    <FORM> <INPUT TYPE=text name=id> <INPUT TYPE=submit value=修正> <INPUT TYPE=submit value=削除> </FORM> 以上のようなレイアウトになっています。 idフィールドには、各々のidを入力してもらいます。 これをidの情報を保持したまま、修正ボタンと削除ボタンでformの action先を違うファイルにしたいのですが、できるのでしょうか。

  • 複数formの使用について

    お世話になります。 複数のFORMを入れ子で使用する方法はありますでしょうか? 下記の記述だと外側のFORMが無効になってしまいます。 表示の順は以下のようにしたいです。 aaa.phpへPOST変数でデータを受け渡して使用します。 <form method="post" name="test1" action="aaa.php"> <input type="text" name="text01" id="textA" value="10"> <input type="text" name="text02 id="textA" value="20"> <input type="text" name="text03" id="textA" value="30"> (上のinputタグ数は動的に変わります) <form method="POST" name="test2" action="bbb.php"> <select name="select"> <option>selectA</option> <option>selectB</option> <option>selectC</option> <input type="submit" name ="read" value="読込"> </select> </form> <input type="submit" value="保存" > </form> 以上、よろしくお願いいたします。

    • 締切済み
    • PHP

専門家に質問してみよう