• ベストアンサー

セレクトメニューで計算

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

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

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

プライスリストを別管理すればよいのでは? 配列をつくるだけなのでそんなにめんどうでもないかと。 こんな感じで <form action="mailto:foo@bar.com" > <select onChange="change(this)"> <option value="">====選択してください==== <option value="aaa">あああ <option value="iii">いいい <option value="uuu">ううう </select> <input type="text" name="sum"><br> <input type="hidden" name="subject" value="order"> <input type="hidden" name="body"> <input type=submit value="send"> </form> <script language=javascript> price=new Array() //price list price["aaa"]="3000" price["iii"]="5000" price["uuu"]="1000" function change(s){ v=s.options[s.selectedIndex].value p=price[v] if (p==null){ s.form.sum.value="" }else{ s.form.sum.value=p s.form.body.value=v+":"+p } } </script>

hisse
質問者

お礼

ありがとうございます。イメージ的に近い感じです。とても参考になりました。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

多分、 <option value="3000">商品名A</option> のようになっていて、商品名が決まると値段は決まるが、商品名が残らないということなんでしょうか? 例えば、 <option value="3000:A">商品名A</option> とかしておいて、計算するときには、数値の部分を切り出すとか 別のテキストボックスに、選んだときの商品名が設定されるような仕組みにすればいいんじゃないでしょうか

hisse
質問者

お礼

ありがとうございます。参考になりました。

関連するQ&A