• ベストアンサー

ラジオボタンでうまくするには・・・・

初めまして。 現在下記のプルダウン形式で、一つの価格が同じなので問題なく動くのですが <FORM action="cart/sys/cart.cgi" method="post"> <INPUT type=hidden value=005 name=num> <INPUT type=hidden value=●●● name=name> <INPUT type=hidden value=2000 name=tan> <SELECT name=sur> <OPTION value="" selected>購入数量</OPTION> <OPTION value=1>1</OPTION> <OPTION value=2>2</OPTION> <OPTION value=3>3</OPTION> <OPTION value=4>4</OPTION> <OPTION value=5>5</SELECT> <INPUT type=submit value=カートに入れる> </FORM><BR> <FORM action="・・・/cart.cgi" method="post"> <INPUT type=hidden value=005 name=num> <INPUT type=hidden value=●●● name=name> <INPUT type=hidden value=2000 name=tan> </FORM> 同じ商品で1・2・3・4・5のそれぞれに単価が変わる設定をしたいのですが、うまくいく方法が見つからないです。 ラジオボタン形式で作ってみたものの・・・・ <FORM action="・・・/cart.cgi" method="post"> <INPUT type=hidden value=005 name=num> <INPUT type=hidden value=●●● name=name> <INPUT type=submit value=カートに入れる> </FORM> <FORM> <INPUT type="radio" name="name1" value="2000">1袋<BR> <INPUT type="radio" name="name1" value="3900">2袋<BR> <INPUT type="radio" name="name1" value="5800">3袋<BR> <INPUT type="radio" name="name1" value="7500">4袋<BR> <INPUT type="radio" name="name1" value="8500">5袋</FORM> としてみましたがうまくいきません。 なにか方法ございましたら、ご教授いただければと思います。

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

  • ベストアンサー
  • leap_day
  • ベストアンサー率60% (338/561)
回答No.2

こんにちは </form>で一度切ってるからですね radioの部分が他のformとされて送信されていないと思います <FORM action="・・・/cart.cgi" method="post"> <INPUT type=hidden value=005 name=num> <INPUT type=hidden value=●●● name=name> <INPUT type=submit value=カートに入れる><br> <INPUT type="radio" name="name1" value="2000">1袋<BR> <INPUT type="radio" name="name1" value="3900">2袋<BR> <INPUT type="radio" name="name1" value="5800">3袋<BR> <INPUT type="radio" name="name1" value="7500">4袋<BR> <INPUT type="radio" name="name1" value="8500">5袋 </FORM> として$in{'name1'}で受け取ればよいかと思います ついでに <INPUT type=submit value=カートに入れる> </FORM><BR>以下の <FORM action="・・・/cart.cgi" method="post"> <INPUT type=hidden value=005 name=num> <INPUT type=hidden value=●●● name=name> <INPUT type=hidden value=2000 name=tan> </FORM> は何処にも送信されていないような・・・10行上と重複してますしsubmitがないので(--;)

krm_001
質問者

お礼

leap_day様 ご回答ありがとうございます。 </form>が重複しているとのご指示で、外して下段の<form>~</form>が不要というのも納得いたしました。 $in{'name1'}で受け取ればよいかと・・・・・ という部分についての理解ができていません。 上段form部でのname="name1"と指定しているからだと思うのですが どこで受け取り、どのような構文になるものなのかがわかりません。 どのようにすればよいものなのでしょうか?

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

その他の回答 (2)

  • leap_day
  • ベストアンサー率60% (338/561)
回答No.3

こんにちは >どこで受け取り、どのような構文になるものなのかがわかりません。 action指定してやったファイルです この場合は cart.cgi の中ですね(^^) その中で$in{'name1'}と書けばその中にradioのvalue値を格納しています 例えば cart.cgiの方に print "この値段は$in{'name1'}円です\n"; と<body></body>内に書いて スクリプト(<form>のぶんです)が書かれたhtmlファイルをブラウザ表示させて 『2袋』を選択してsubmitしたとします そうするとcart.cgiがブラウザ表示されて(cart.cgiの処理内容によっては表示されないかもしれないですけど) この値段は3900円です と表示されます ネットショッピングはしていないのでcart.cgi内の処理をどのようにしているのか分かりませんが・・この説明でおわかりになりますでしょうか?

すると、全ての回答が全文表示されます。
  • tsukachan
  • ベストアンサー率42% (202/470)
回答No.1

<INPUT type="radio" name="name1" value="1:2000">1袋<BR> <INPUT type="radio" name="name1" value="2:3900">2袋<BR> <INPUT type="radio" name="name1" value="3:5800">3袋<BR> <INPUT type="radio" name="name1" value="4:7500">4袋<BR> <INPUT type="radio" name="name1" value="5:8500">5袋</FORM> こんな感じで適当に区切り記号作って受け側で分割してそれぞれ変数に格納すればどうでしょうか?

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

関連するQ&A