プルダウンメニューのValue値をPHPへ受け渡しできない

このQ&Aのポイント
  • HTML(apache)+MySQL+PHPの連携で、プルダウンメニューとテキストボックスの入力内容をPHPにデータとして渡し、データベースの検索をする処理をさせたい。テキストボックスの内容は渡せるが、プルダウンメニューで選択した場合のvalue値をPHPに渡すことができず、解決方法がわからない。
  • プルダウンメニューで選択したvalue値をPHPに渡す処理がうまくいかない。テキストボックスの内容は渡せるのに、なぜプルダウンメニューのvalue値が渡せないのか困っている。
  • プルダウンメニューから選択されたvalue値をPHPに渡す方法がわからない。HTML(apache)+MySQL+PHPの連携で、テキストボックスの内容は渡せるが、プルダウンメニューのvalue値を渡すことができず、困っている。
回答を見る
  • ベストアンサー

プルダウンメニューでValue値をPHPへの受け渡しができません

こんばんは。 HTML(apache)+MySQL+PHPの連携で、プルダウンメニュ ー2つとテキストボックス2つの入力内容をPHPにデー タとして渡し、それをキーワードにして、データベー スの検索をする、という処理をさせようと思い、PHP にデータを渡すためのタグを書いています。 http://ns1.php.gr.jp/pipermail/php-users/2002-December/012011.html を参考に、テキストボックス2つの内容をPHPに渡すこ とはできたのですが($_POST関数で渡しています)、 プルダウンメニューで選択した場合のvalue値を、PHP に渡す処理ができず、行き詰っています。 http://www.big.or.jp/~mio/ga/ht/htref/ht_ref_optio.htm で、プルダウンメニューで選択した場合のvalue値を 渡すことは可能と思い、タグを書きましたが、PHPで データをダンプさせると何も表示されませんでした。 つまりはPHPにはデータが渡されていない状態で、HTM Lタグレベルでの問題という事が分かり、タグの勉強 もしましたが、option部分の記述は間違っていないの では?、と思っています。 ではform actionの、データを送信する送信ボタンの 記述で足りないところがあるのでは、と思い、調べた のですが解決方法が見つかりません。 どなたかご教授いただけましたら幸いです‥ 宜しくお願い申し上げます。 クライアント環境はWin2000、IE6.0 サーバーはRedHat9.0でPHPは4.2.2です。

  • HTML
  • 回答数2
  • ありがとう数5

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

  • ベストアンサー
  • Shinoa
  • ベストアンサー率92% (12/13)
回答No.2

この場合、 <form> タグの位置を変えるだけで動作します。 <select>タグの前に移動させてください。 PHP4.0.6で動作確認済みです。 JavaScript使うまでもなかったですね。失礼しました。 === 以下ソース === <html> <body> <form action="yamaha0.php" method="post"> <!-- ここに移動 --> <br>分類<br> <select name="clasfct" size="3"> <option value="1">新機能</option> <option value="2">仕様変更</option> <option value="3">バグ修正</option> </select> <p> Rev<br> <select name="rev" size="3"> <option value="1">ver 8.01.15</option> <option value="2">ver 7.01.34</option> <option value="3">ver 7.00.29</option> </select> <br> キーワード1を入力してください(必須):<input type="text" name="key1"><br> <p> キーワード2を入力してください(任意):<input type="text" name="key2"><br> <p><input type="submit" name="exec" value="検索"> </form> </body> </html>

ASURA-RVF400R
質問者

お礼

いいえ!とんでもないです。 < JavaScript使うまでもなかったですね。失礼しました。 早速試してみたところ、お蔭様でデータをPHPに渡す ことができました。 (PHPで渡したデータをダンプさせたところ、値が表 示されました) なるほど‥formタグの位置も重要なのですね。 JavaScriptで処理というご回答もいただきまして、あ りがとうございました。 今回はHTMLでの処理で行って見ようと思います。 本当にありがとうございました。m(_ _)m

その他の回答 (1)

  • Shinoa
  • ベストアンサー率92% (12/13)
回答No.1

タグで書いてもPHPにはデータが渡されていないのであれば、 以下のようにJavaScriptでHIDDENタグに選択内容を設定してから送信すると言うのはどうでしょう? 少しでも参考になれば幸いです。 <html> <script langage="javaScript">  function send(){    document.form1.selectedValue.value = document.form1.sel.value ;    document.form1.submit();    return true;  } </script> <body> <form name="form1" action="resukt.php" method="post">  <select name="sel">   <option value=1>選択肢1   <option value=2>選択肢2   <option value=3>選択肢3  </select> <input type="hidden" name="selectedValue" value="" > <input type="button" onClick="send()" value="送信"> </form> </body> </html>

ASURA-RVF400R
質問者

補足

文字数制限に引っかかっていました。 スクリプトは以下になります。 <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=euc-jp"> </head> <body> <br>分類<br> <select name="clasfct" size="3"> <option value="1">新機能</option> <option value="2">仕様変更</option> <option value="3">バグ修正</option> </select> <p> Rev<br> <select name="rev" size="3"> <option value="1">ver 8.01.15</option> <option value="2">ver 7.01.34</option> <option value="3">ver 7.00.29</option> </select> <br> <form action="yamaha0.php" method="post"> キーワード1を入力してください(必須):<input type="text" name="key1"><br> <p> キーワード2を入力してください(任意):<input type="text" name="key2"><br> <p><input type="submit" name="exec" value="検索> </form> </body> </html>

関連するQ&A

  • textareaのvalueについて

    ▽textareaの受け渡し - PHP - 教えて!goo  http://okwave.jp/qa/q3086989.html >textarea内に表示させる場合は >valueは必要ありません。 ▽[PHP-users 19095]Re: TEXTAREAタグの使い方   http://ml.php.gr.jp/pipermail/php-users/2003-November/019622.html ><TEXTAREA>のValue値は ><TEXTAREA>値</TEXTAREA> >となります。 >なので、開始タグ内でValue値を指定しても表示されません と書かれているのですが、これはHTMLの仕様なのでしょうか? また、それは、どこに書かれているのでしょうか? inputタグはvalueなのに、「textarea」タグでは何故Value値が有効でないか、教えてください。 後、jQueryで「$("textarea").val(data);」とやるのと、 PHPで、<textarea><?php echo $data ?></textarea>とやる行為に、違いはあるでしょうか? 両者は同じことをやっているという認識で良いでしょうか?

    • ベストアンサー
    • PHP
  • プルダウンメニューのリンク

    毎度お世話になっております。 今回聞きたいことは、テーブル内でプルダウンメニュ ーを左のTDタグへ入れ、選択された商品の画像を右の TDタグ内へ表示できるかどうかです。 <例> ┌――──────────────────┐ │              │     │ │ここにプルダウンメニュー  │ここに画像│ │(商品名が入ります)    │(選択され│ │              │ た商品)│   └────────────────────┘ こんな感じですが、可能でしょうか? よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • プルダウンメニューに前の値を入力させたい。

    プルダウンメニューに前の値を入力させたい。 天候を表示させるCGIを使用しています。 今までは、テキストボックスに「晴れ」「曇り」「雨」などと入力し、送信することで、データーを書き換えていました。変更するときは、前に入力した値がテキストボックスに既入力されていました。 これのテキストボックスをプルダウンメニューにしたいのですが、変更時、前に入力された値ではなく、optionの一番上に記述されている「晴れ」が毎回出てきてしまいます。 札幌 晴れ▼ 仙台 晴れ▼ 東京 曇り▼ 名古屋 晴れ▼ 大阪 晴れ▼ 福岡 曇り▼ 那覇 雨▼ と入力して送信すれば、データーは書き換えられもちろんその通り表示されるのですが、再度編集画面に行くと、 札幌 晴れ▼ 仙台 晴れ▼ 東京 晴れ▼ 名古屋 晴れ▼ 大阪 晴れ▼ 福岡 晴れ▼ 那覇 晴れ▼ となってしまい、一部を変更したいだけなのに、すべてをもう一度再入力しなくてはなりません。 プルダウンメニューの前のデーター値を既入力させる方法がありましたら、お教えいただければと思います。

    • ベストアンサー
    • HTML
  • フレームのあるHPでプルダウンメニュー

    上左右とフレームの切ってあるHPをビルダーで作っている者です。 似た感じの質問を過去ログから検索して読みましたが、質問させてください。 左フレームにプルダウンメニューを設置して、 プルダウンメニューをクリックすると 右メインページが切り替えれる様にしたいのです。 http://www.red.oit-net.jp/tatsuya/java/combobo2.htm←この様なプルダウンメニューを設置したいのですが、 フレーム切り替えのタグをどこをどういじっていいのかわかりません。 現在ローカルファイルで作成中で、フォルダに 上フレーム:flame1.htm(完成) 左フレーム:flame2.htm(←ここに設置したい) メインページ:1.htm 2.htm 3.htm 4.htm  と入っている感じです。 左フレーム↓ <script language="JavaScript"><!-- function myGo(){ mySelect = document.myForm.myMenu.selectedIndex; location.href = document.myForm.myMenu.options[mySelect].value; } // --></script> <form name="myForm"> <select name="myMenu" onChange="myGo()"> <option value="1.htm" >第1章 <option value="2.htm" >第2章 <option value="3.htm" >第3章 <option value="4.htm" >第4章 </select> </form> どこをどう直したらいいのか、是非お教え下さい。 よろしくお願いします。

  • メールフォームのプルダウンメニュー

    メールフォームに都道府県などを選ぶプルダウンメニューを入れたいと思います。 通常のテキストボックスには必須コマンドが有効なのですが、 プルダウンの場合、「お選びください」という1行目があるため、 必須にしようとしてもなかなかできません。 この「お選びください」という1行目を無効にすることはHTML上のタグ操作で可能なんでしょうか?

    • ベストアンサー
    • HTML
  • phpのプルダウンメニューで選んだものを表示

    PHPのプルダウンメニューで選んだものについて、「送信」ボタンをクリックして移動したページに何を選んだのかを表示するプログラムを書きたいのですが、わかりません。 参考になるWEBページなどがありましたら教えてください。 例として、プルダウンメニューで ・好きな食べ物…「りんご」 ・好きな色…「青」 を選び、「送信」ボタンを押してページを移動し、次のページで 好きな食べ物「りんご」 好きな色「青」 と表示させたいです。

    • ベストアンサー
    • PHP
  • プルダウンメニューのフォームについて

    プルダウンメニューって1回リロードするとデフォルトのメニュー (一番上のメニュー、またはselected属性のメニュー)が選択されますよね。 たとえば、以下のフォームでチョキを一度「送信」すると、 再読み込みにされて「グー」が表示されてしまいます。 これを「送信」した後も「チョキ」を連続で選択できるようにしたいのですが良い方法はあるでしょうか? (利用者が一旦別のページに飛んだ場合はデフォルトに戻っていいのですが・・) --------------------------------------- <form method="post" action="janken.php"> モード <select name="mode" size="1"> <option value="janken">ジャンケン</option> <option value="gp">グーパー</option> </select> 手 <select name="skill" size="1"> <option value="goo">グー</option> <option value="choki">チョキ</option> <option value="par">パー</option> </select> <input type="submit" value="送信"> </form> 以下、結果を出力するphp ------------------------------------- htmlタグだけで実現可能でしょうか? htmlで不可の場合、phpを使用するつもりですが、 if文で一つ一つのメニューに「前回コレを送信していたら選択」というのが思い浮かびますが、 もっとスマートなやり方はあるでしょうか? 別の質問になりますが、モードで「グーパー」を選んでいる時はチョキを選択できないようにしたいのですが、これはhtmlだけでは実現不可能でしょうか? よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • 【PHP】プルダウンメニューとリンク

    またPHPに関して質問させていただきます。 この質問 (http://okwave.jp/qa5492047.html) の続きにあたりますが、 プルダウンメニューにデータベースの内容を反映させることはできました。 しかし今度はそのプルダウンメニューを選択した後、「決定」等のボタンを押すと、プルダウンで選択した内容のページに飛ばすといったことを行いたいのです。 例) ------------------------------------- 「朝」を選択した状態で「決定」ボタンを押す。    ↓ 「おはようございます」と次ページで表示される。 「昼」を選択した状態で「決定」ボタンを押す。  ↓ 「こんにちは」と次ページで表示される。 ------------------------------------- このようにしたいのですが、どなたか教えていただけませんか。 それと、このようなPHPのリンク関連に詳しく掲載しているサイトを教えていただけたら嬉しいです。 どうかよろしくお願いします。

    • ベストアンサー
    • PHP
  • プルダウンメニューの利用

    htmlのプルダウンメニューを使用した値計算のインタフェースを作成したいと思っています。 プルダウンメニューに設定するメニュー項目に値を設定し、 onChangeを使用して、その値だけをPHPプログラムに渡すようにしたいのですが、 JavaScript部分をどのように書けばいいのか判りません。 どなたかご教授お願いいたします。 <form name="formtest" action="test.php" method="post"> <table> <tr> <th>カテゴリ*</th> <td> <SELECT NAME="iPlanet" onchange=""> <OPTION VALUE="9" selected>初期値 <OPTION VALUE="0">サンプル1 <OPTION VALUE="1">サンプル2 </SELECT> </td></tr> </table> </form> onchangeでValueの値をPHPに送りたいのです。 よろしくお願いします。

  • フレームを使用した複数プルダウンメニュー

    こんにちは。 よくある質問もみたのですが「複数のプルダウンメニュー」「フレームを使ったプルダウン」というのはあるのですが、 フレームを使用して左フレームに複数プルダウン、そこで選んだものを右フレームに表示させるというのが見つかりませんでした。 「複数のプルダウンメニュー」もつくれますし、「別フレームに表示させる」こともできるのですが、 プルダウンを増やしたとたんに動きません。 ネームを変えてもみたのですがうまくいきません。 フレームを二つつくって <FRAMESET cols="35%,65%"> <FRAME src="n_menu.htm" name="manu">←こっちにプルダウンメニュー <FRAME src="n_main.htm"name="main">←こっちに表示 目次のhtmファイルで <SCRIPT LANGUAGE="JavaScript"> function openPage() { var list = document.forms[0].urlList; parent.frames[1].location = list.options[list.selectedIndex].value; } </SCRIPT> </HEAD> <FORM> <SELECT NAME="urlList" onChange="openPage()"> <OPTION SELECTED VALUE="cover1.htm">朝の歌 <OPTION VALUE="1.htm">1番目のページ <OPTION VALUE="2.htm">2番目のページ <OPTION VALUE="3.htm">3番目のページ </SELECT> </FORM> #上記をコピペして増やしてみた↓ <FORM> <SELECT NAME="urlList2" onChange="openPage()"> <OPTION SELECTED VALUE="cover2.htm">夜の歌 <OPTION VALUE="4.htm">4番目のページ <OPTION VALUE="5.htm">5番目のページ <OPTION VALUE="6.htm">6番目のページ </SELECT> </FORM> これだと2本目が表示されません。 どうすればいいか教えていただけないでしょうか?

専門家に質問してみよう