• ベストアンサー

プルダウンメニューで画像を切り替え

初心者のため、質問の的を得ないかもしれませんが よろしくお願いいたします。 商品の注文にフォームを使おうと思っています。 プルダウンメニューから商品名を選択 (例:<option value="1" >日本酒 5000円</option>) →その商品の画像が表示される そこまでは良いのですが、その情報をそのまま送信(submit)だと 送信される結果が「1(value="1")」になってしまいます。 これを商品名で表示させるにはどうすれば良いでしょうか?

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

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

>フォームから送信していただく際、注文の内容確認のページへと >飛ぶのですが、その画面での商品名が「1(value="1")」となって >しまうので困っています。(商品名で確認できるようにしたい) だから・・・前回の回答にも書いたとおり、valueが1だったときに 日本酒5000円という情報を情報提供者(質問者)がもっている んだから、1というデータが飛んできたときに「日本酒5000円」と 表示するようなプログラムをつくってやればいいんですって。 データを管理しているのは情報提供者なのだからできますよね? (プログラムスキルのあるなしは不問として) とりあえず、どうしてもというなら前回紹介したようにjavascript でデータの受け渡しも可能です。ただしあまり有効な手段とは 思えないので参考程度にしていただき、一度よく勉強なさったほうが よろしいかと。 <script language=javascript> function setText(f){ if(f.sake_val.value=="") return false f["sake_txt"].value=f.sake_val.options[f.sake_val.options.selectedIndex].text return true } </script> <form action="hoge.htm" method="get" onSubmit="return setText(this)"> <select name="sake_val"> <option value="">選択して下さい</option> <option value="1" >日本酒 5000円</option> <option value="2" >ワイン 3000円</option> <option value="3" >焼酎  1000円</option> </select> <input type="hidden" name="sake_txt"> <input type="submit" value="送信"> </form>

cashmere_2005
質問者

お礼

回答ありがとうございました! どうにか形になりましたが、知識が足りなくてどうもスマートでは ありませんが・・・。

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

その他の回答 (1)

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

サービスの提供側がvalueが1のときは日本酒5000円という 情報を持っているわけですから送られてきたデータを もとに再度関連付けしてやればすむでしょう。 どうしても情報を付加しなくてはいけないなら、 javascriptでオプションのテキスト値を付加してやり onSubmit処理をいれれば不可能ではありませんが・・・

cashmere_2005
質問者

補足

回答ありがとうございます! >サービスの提供側がvalueが1のときは日本酒5000円という >情報を持っているわけですから送られてきたデータを >もとに再度関連付けしてやればすむでしょう。 そのデータを管理するこちら側はそれで問題ないのですが フォームから送信していただく際、注文の内容確認のページへと 飛ぶのですが、その画面での商品名が「1(value="1")」となって しまうので困っています。(商品名で確認できるようにしたい)

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

関連するQ&A

  • プルダウンメニューのフォームについて

    プルダウンメニューって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
  • セレクトメニューで計算

    プルダウンで商品何を選んだら、何円って計算されていく方法がありますよね。 今回、お願いがあります。 予算の関係で、良いレンタルサーバーを借りれませんでした。また、CGIについてそんなに詳しくありませんが、フォームからメール送信をさせることは、できます。これから色々勉強していきたいと思いますが、今回はメール送信する方法をとりたいと思っています。 <OPTION value="3000"> プルダウンで何かを選んだ場合、value="3000"が、メールに表示されます。 しかし、これだと何の商品を選んだかがわかりません。 注文者が選んだ商品を、即計算しながら、なおかつ、フォーム送信された際に、商品名と金額がくっついてくる方法がありますでしょうか。

  • 複数のプルダウンメニューの作り方。

    ・Aリスト、Bリスト…とプルダウンメニューを複数含んだフォームを一つのhtmlに作りたいのですが、上手くいきません。 一つのフォームに一つのプルダウンメニューは上手くいくのですが、Javascriptを二つ並べると動かなくなります。 とりあえず関数名を重複しない様にしたらいいという事だけはネットで調べてわかりました。 今は、下記の状態になっています。 <script language="JavaScript"> <!-- function MENU(){ mySelect = document.myForm.myMenu.selectedIndex; location.href = document.myForm.myMenu.options[mySelect].value; } // --> </script> <form name="myForm"> <select name="myMenu" onChange="MENU()"> <option value="">A</option> <option value="a001.html">A001</option> <option value="a002.html">A002</option> <option value="a003.html">A003</option> </select> <select name="myMenu2" onChange="MENU()"> <option value="">B</option> <option value="b001.html">B001</option> <option value="b002.html">B002</option> <option value="b003.html">B003</option> </select> </form> ご指南の程宜しくお願いします。

  • WEB画面におけるプルダウンメニューで選択した値の保持

    web画面において、各頁にプルダウンメニューを設定し、そこから各頁へジャンプさせたいと思っています。 TOP画面のプルダウンメニューを [選択して下さい]→[pageA]→[pageB]とし、 top画面のプルダウンメニューより[pageA]を選択した場合 pageAのプルダウンメニューでは [選択して下さい]ではなく、[pageA]が表示させたいのですが この場合、どうすれば宜しいのでしょうか? 私が組んだソースは下記の通りですが 下記の場合だと、各頁にジャンプ後も [選択して下さい]が表示されてしまいます。 <form> <select onchange="location.href = options[this.selectedIndex].value;">    <option value="#">選択して下さい。</option> <option value="pageA.html">pageA</option> <option value="pageB.html">pageB</option> </select> </form> 初心者の為、ご教授頂けると助かります。

  • 追加記入もできるプルダウンメニューの作り方

    こんばんわ。 タイトルに書いたように、 普通のプルダウンメニュー(以下メニュー)ではなく追加でメニュー以外の値を 記入できるようなものを作りたいと思っているのですが、どうやってよいものか悩んでおります。 今、情報(名前、住所、生年月日等)を 入力するフォームを作っています。 最終的にはメールで送信することになります。 その中で誕生日の西暦部分をメニューにして作っていたのですが、 あまりに対象範囲が多く(1900年代前半~2002年まで) それらをリストとして表示するのはあまり好ましくないということがあり、 1960年以降をメニューにして、 1959年以前の方には、そこに記入してもらうような方法はできないかと考えています。 メニューですと、 <SELECT NAME="***"> <OPTION VALUE="1960">1960</OPTION> <OPTION VALUE="1961">1961</OPTION> ・ ・ </SELECT> などと書けますが、これに「INPUT TYPE」のようなものを併用して、 書き込んだ方の年号をVALUE値としてくれるようにできないものなのでしょうか? 例)***=1952(1952と記入したものがVALUE値として返ってくる) 自分で試してみたのですが、思った結果にはなりませんでした。 これを実現する良い方法を知っている方がいましたら、 教えていただけないでしょうか? どうぞよろしくお願いします。

    • ベストアンサー
    • HTML
  • プルダウンメニューの選択肢の保持について

    こちらにはだいぶお世話になっています。 perlとpostgresを使用してcgiを作成しているのですが、 下記のコードでプルダウンメニューにDBの値を入れて、 DBにデータが追加されてもプルダウンにもデータが追加されているプルダウンメニューを作りました。 $sql="select * from testtable order by code"; $result = $conn -> prepare($sql1); $ref = $result -> execute; while(@ref = $result->fetchrow){ $options.="<option value='$ref[0]'>$ref[1]</option>\n"; } $select="<select name=''>\n<option value=''>選択してください</option>\n$options</select>\n"; print "$select"; データの検索時にこのプルダウンメニューを使っているのですが、選らんだ選択肢を例えばBとして 送信すると、一番上の「選択してください」に戻ってしまします。 これを送信してもその時選択した選択肢を残すやり方を教えて頂けますでしょうか? testtableの中身:      プルダウンメニュー化 |code|name|      |選択してください▼| | 1 | A |         |    A    | | 2 | B |        → |    B    | | 3 | C |         |    C    | | 4 | D |         |    D    |

  • プルダウンメニューの数

    現在、 <td colspan="5" align="center"> 列数: <select name="COL"> <option value="6">6列</option> <option value="10">10列</option> </select> <input type="submit" value="再表示"></input> </td> このような形でプルダウンメニューを作成したのですが 現在、2つの値を設定しているのですがこれを、設定ファイルのような物で制御したいと考えているのですがどのようにすれば宜しいでしょうか? データバインド等を使ったのですがうまくいきません。 よろしくお願いします

  • プルダウンメニューのリンク

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

    • ベストアンサー
    • HTML
  • プルダウンメニューを選択したらリンク先へ別ウインドウに飛ぶようにしたい

    全くの初心者です。 以下のようなソースでプルダウンを制作したのですが、 imputのボタンではなく選択したらすぐにリンク先へ別ウインドウで飛ぶようにしたいですが出来ません。 どなたか教えてください! <form method="post" action="https://○○○○/reservationtop.asp"> <select name="○○○_cd"> <option value="12">1</option> <option value="15">2</option> <option value="21">21</option> </select> <input type="submit" value="送信"> </form>

  • フレームを使ったプルダウンメニュー

    フレームで「ヘッダー・左メニュー・右メインページ」というように3分割にし、左メニューに置いたプルダウンから項目を選ぶと右メインに表示される、という構造にしたいと思っています。 <HEAD>~</HEAD>内↓ <script language="JavaScript"> function jump(form) { var myindex=form.destination.selectedIndex window.open(form.destination.options[myindex].value, target="main"); } //--> </SCRIPT> プルダウン部分↓ <FORM NAME="form"> <SELECT NAME="destination"> <OPTION VALUE="a.html" SELECTED>あ</OPTION> <OPTION VALUE="k.html">か</OPTION> <OPTION VALUE="s.html">さ</OPTION> <OPTION VALUE="t.html">た</OPTION> <OPTION VALUE="n.html">な</OPTION> </SELECT> <INPUT TYPE="image" SRC="go.gif" onClick="jump(this.form)" BORDER="0"> </FORM> という様に記述した所、例えばプルダウンで「た」を選択した場合、右フレームにちゃんとt.htmlが表示されるのですが、左フレームのプルダウンの項目が「あ」に戻ってしまいます。「た」を選択した状態のまま残したいのですが。 ちなみにボタンに画像を使わず、<INPUT TYPE="button" ・・・・>にするとなぜか「た」選択の状態でちゃんと残ります。でも、できれば画像を使いたいのです。 うまいやり方をご存じの方は、教えていただけますか。おねがいします。