電子書籍の厳選無料作品が豊富!

どのカテゴリーに質問させていただいていいのか見当がつかなかったのでこちらに
投稿させてもらいました

見よう見まねでフォームからのデータ送信を試みています。
やり方に検討がつかずヒントをもらえたらと思います

最終目標はショッピングカートへのデータ送信です
一つの商品をカゴに入れるには下記のような形だというところまではわかりました

<form action="/products/detail.php" method="post" name="a11" id="a11" >
<input type="hidden" name="mode" value="cart" />
<input type="hidden" name="product_id" value="137" />
<input type="hidden" name="product_class_id" value="634" />
<input type="checkbox" name="quantity" value="1" />
<input type="submit" value="購入する" />

しかし、商品にはグループが3つあり、さらに各グループには9つの商品あります
なので合計27個の商品の中から3つを選んでもらう形をとりたいのです
どれを選んだのかがわかるように一覧の中から選択してもらいたいです

Aグループ (商品1、商品2、商品3・・・・)
Bグループ (商品10、商品11、商品12・・・・・)
Cグループ (商品19、商品20、商品21・・・・・)

という感じです
各グループの中からは一つしか購入できないので、
ラジオボタンで選択してもらい、それをフォームにてデータを送信
確認画面を経て、ショッピングカートへ送信という流れを取りたいと考えています

ラジオボタンで選択後に商品の情報をカートに送るためにはどうすればよいでしょうか?

素人考えで、例えば、ボックスみたいのをつくり、その中に情報を記入、
それをなんらかの形で呼び出す みたいな感じでできる方法がないかと探しています

お手数ではありますが、参照プログラムを記述していただけるとありがたいです

質問の仕方も下手で申し分けありませんが、足らない部分は随時追加させていただきますので、
必要な情報等もございましたらお教えいただければと思います

どうぞよろしくお願いいたします

A 回答 (3件)

それぞれ9個の選択肢をもつ3つのグループからひとつずつ選択するのですから、フォームコントロールはradioかseclectになります。


<form action="****" method="post"><!-- nameやidは不要です -->
 <ul>
  <li>Aグループ
   <select name="A" size="1">
    <option value="1">商品1
    <option value="2">商品2
    ・・・【中略】・・・
    <option value="9">商品9
   </select>
  </li>
  <li>Bグループ
   <select name="B" size="1">
    <option value="1">商品1
    <option value="2">商品2
    ・・・【中略】・・・
    <option value="9>商品9
   </select>
  </li>
  <li>Aグループ
   <select name="C" size="1">
    <option value="1">商品1
    <option value="2">商品2
    ・・・【中略】・・・
    <option value="9>商品9
   </select>
  </li>
 </ul>
・・・【中略】・・
</form>

あるいは、radioを使用して
<form action="****" method="post"><!-- nameやidは不要です -->
 <ul>
  <li>Aグループ
   <ol>
    <li><input type="radio" name="A" value="1">商品1</li>
    <li><input type="radio" name="A" value="2">商品1</li>
    <li><input type="radio" name="A" value="3">商品1</li>
    ・・・【中略】・・・
    <li><input type="radio" name="A" value="9">商品1</li>
   </ol>
  </li>
  <li>Bグループ
   <ol>
    <li><input type="radio" name="B" value="1">商品1</li>
    <li><input type="radio" name="B" value="2">商品1</li>
    <li><input type="radio" name="B" value="3">商品1</li>
    ・・・【中略】・・・
    <li><input type="radio" name="B" value="9">商品1</li>
   </ol>
  </li>
  <li>Cグループ
   <ol>
    <li><input type="radio" name="C" value="1">商品1</li>
    <li><input type="radio" name="C" value="2">商品1</li>
    <li><input type="radio" name="C" value="3">商品1</li>
    ・・・【中略】・・・
    <li><input type="radio" name="C" value="9">商品1</li>
   </ol>
  </li>
 </ul>
・・・【中略】・・
</form>

いずれにしても、サーバーにはA=3&B=5&C=2 と言う形データが送られます。
 ⇒17 フォーム ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
    • good
    • 0
この回答へのお礼

回答ありがとうございます
お礼が遅くなってしまい申しわけありません

フォームにてグループ送信することし、確認画面にPHPでひっぱり選択させたものを表示させることまではできたのですが、確認画面に表示させた後でうまくカートに送信することができませんでした

再度見直しをしてみます
ありがとうございました

お礼日時:2013/06/26 16:56

グループ枠1


<label for="it1-1"><input type="radio" name="gr1" id="it1-1" value="商品1-1" />商品1-1</label>
<!-- ~~2~8までループ~~ -->
<label for="it1-9"><input type="radio" name="gr1" id="it1-9" value="商品1-9" />商品1-9</label>

グループ枠2
<label for="it2-1"><input type="radio" name="gr2" id="it2-1" value="商品2-1" />商品2-1</label>
<!-- ~~2~8までループ~~ -->
<label for="it2-9"><input type="radio" name="gr2" id="it2-9" value="商品2-9" />商品2-9</label>

グループ枠3
<label for="it3-1"><input type="radio" name="gr3" id="it3-1" value="商品3-1" />商品3-1</label>
<!-- ~~2~8までループ~~ -->
<label for="it3-9"><input type="radio" name="gr3" id="it3-9" value="商品3-9" />商品3-9</label>

単なるフォームですよね。
別項目と考えれば、何も難しく考える必要が無いと思いますが・・・
    • good
    • 0
この回答へのお礼

回答ありがとうございます
お礼が遅くなってしまい申しわけありません

フォームにてグループ送信することし、確認画面にPHPでひっぱり選択させたものを表示させることまではできたのですが、確認画面に表示させた後でうまくカートに送信することができませんでした

再度見直しをしてみます
ありがとうございました

お礼日時:2013/06/26 16:56

<input type="option" name"group1" value="商品1" />商品1


<input type="option" name"group1" value="商品2" />商品2

<input type="option" name"group2" value="商品10" />商品10

<input type="option" name"group3" value="商品19" />商品19

groupごとにname属性を設定します。フォーム送信時にはvalueの値が格納されます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
お礼が遅くなってしまい申しわけありません

フォームにてグループ送信することし、確認画面にPHPでひっぱり選択させたものを表示させることまではできたのですが、確認画面に表示させた後でうまくカートに送信することができませんでした

再度見直しをしてみます
ありがとうございました

お礼日時:2013/06/26 16:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!