プルダウンで別の値を引張る方法

このQ&Aのポイント
  • オンラインショップの作成で、プルダウンメニューから商品NOを選択し、商品名を連動させる方法について教えてください。
  • 現在、FreeCart.jpのCGIを使用しているが、商品名の値が固定であり、選択肢を変更すると対応する商品名も変わるようにしたい。
  • 質問者は初心者で、CGI・PHPのプログラミングはできないが、HTMLコーディングはできるとのこと。
回答を見る
  • ベストアンサー

プルダウンの値から別の値を引張る?(FreeCGI:FreeCartを使用)

初心者です(CGI・PHPを一人でプログラミングすることは出来ません。HTMLコーディングは出来る程度です。)。 オンラインショップの作成をしており、うまくいかなくなりご相談させていただきたいと思います。 FreeCart.jp(http://www.freecart.jp/cart8.html)のCGIを使っています。 使用例サンプル:http://www.freecart.jp/cart3.html <form Action="http://domain.com/cgi-bin/acart/setcook.cgi" METHOD=POST> <INPUT TYPE="hidden"NAME="shouhinmei" VALUE="商品名:あああ"> <INPUT TYPE="hidden" NAME="kakaku" VALUE="100"> <select name="shouhinnumber"> <option>候補をお選びください</option> <option value="aaa">商品名:あああ</option> <option value="bbb">商品名:いいい</option> <option value="ccc">商品名:ううう</option> <option value="ddd">商品名:えええ</option> </select> 数量<input name="kazu" type="text" size="4" /> <INPUT NAME="SUBMIT" TYPE="SUBMIT" VALUE="カートにいれる"> </FORM> このフォームまでは作成できました。 このままですと、name="shouhinnumber"(商品NO)は「aaa」や「bbb」と変更可能なのですが、NAME="shouhinmei"(商品名)は全て「あああ」となってしまいます。 やりたいことは、プルダウンメニューで選択し、商品NOの値を選択すれば、自動的に商品名の値も対応したものが選択でき、カート内に明記できることです。 商品価格はすべて同じです。 少々表現が分かりにくいかもしれませんが、ご教授いただければ幸いです。 よろしくお願いいたします。

  • mojan
  • お礼率100% (1/1)
  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
回答No.1

shouhinnumberが商品名を一意に識別できるもの、つまりshouhinnumberがaaaだったら商品名は「あああ」になるというデータをファイルかDBで持たせているなら、hiddenでshouhinmeiを送信する必要はないのですが・・・。 CGI側がどういう動きになっているかわからないので、ひとまずその話は置いといて、一番手っ取り早いと思われるのはJavaScriptを利用する方法です。 すべての商品が同じ金額ではないことを想定して、ここでは金額もselectの選択に合わせて変更します。 <script language="javascript" type="text/javascript"> <!-- function setInfo(number) { if (number == 'aaa') { document.getElementById('shouhinmei').value = "商品名:あああ"; document.getElementById('kakaku').value = "100"; } else if (number == 'bbb') { document.getElementById('shouhinmei').value = "商品名:いいい"; document.getElementById('kakaku').value = "200"; } else if (number == 'ccc') { document.getElementById('shouhinmei').value = "商品名:ううう"; document.getElementById('kakaku').value = "300"; ...略... } else { // 何も選択されていないか不明なshouhinnumber document.getElementById('shouhinmei').value = ""; document.getElementById('kakaku').value = ""; } } //--> </script> <form> <INPUT TYPE="hidden" NAME="shouhinmei" ID="shouhinmei" VALUE=""> <INPUT TYPE="hidden" NAME="kakaku" ID="kakaku" VALUE=""> <select name="shouhinnumber" onChange="setInfo(this.value)"> <option value="">候補をお選びください</option> <option value="aaa">商品名:あああ</option> <option value="bbb">商品名:いいい</option> <option value="ccc">商品名:ううう</option> <option value="ddd">商品名:えええ</option> </select> ...略 こんな感じで動くのではないかと。 動作確認はしていません。あしからず。

mojan
質問者

お礼

ありがとうございます! 早速やってみまして、無事動くことができました! お忙しいところ、お力添えいただき、感謝いたします! ありがとうございました!

関連するQ&A

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

    初めまして。 現在下記のプルダウン形式で、一つの価格が同じなので問題なく動くのですが <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> としてみましたがうまくいきません。 なにか方法ございましたら、ご教授いただければと思います。

    • ベストアンサー
    • HTML
  • フォームよりCGIへ複数の値をPOSTしたい…。

    はじめまして。 現在、ショッピングカートのCGIを利用するためにHTMLを調整しています。 【単一商品の場合】 <FORM action="cgi-bin/cart/cart.cgi" method="POST"><INPUT type="hidden" name="shouhinnumber" value="0001"><INPUT type="hidden" name="shouhinmei" value="高級シャンプー"><INPUT type="hidden" name="kakaku" value="3000"> あとはセレクトフォームで数を選択して送信すれば正常に料金計算されるのですが、これが、内容量によって料金が異なる場合、どのようにHTMLを組めばよろしいのでしょうか。 ラジオボタンでそれぞれの行にINPUTを入れたが、先頭のINPUTしか認識せず、フォーム文を複数作るとマージンが空き、複数選択が可能になってしまう。 なお、CGIをいじるのは危険なので、HTML内でどうにかしたい・・・。 つまり・・・ 高級シャンプーの 260mlが1800円 500mlが3000円 というように単一商品名で代金が異なるものを1つのフォーム内でCGIへ送信できないでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • submitではなくbuttonで送信

    事情があり、submitではなくbuttonでフォームのデータを送信したいのですが、以下のように書くとbuttonでは4567が送信されません。 <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="submit" name="bbb" value="4567"> </form> ↓ <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="button" name="bbb" value="4567" onclick="submit();" > </form> submitと同じように、bbbのデータ4567も送信するにはどのように書けばよいのでしょうか? 宜しくお願いします。

  • プルダウンメニューで選択しないとカートに入らないようにしたいのですが

    初めまして、宜しくお願い致します。 現在ウェブショップを運営しているのですが、 Aという箱の商品に必ずオプションとして(1)~(3)の商品を二つ選択してもらったうえで「カートに入れるボタン」を押してほしいのですが(Aだけの販売はしていません)、現状では(1)~(3)を何も選択しなくてもAという商品だけをカートに入れられる状態です。 下記ソースの「--選択して下さい--」を選択している状態ではカートに入らない様にするにはどうすれば良いのでしょうか? どなたかご存知な方がいらっしゃいましたらご教授頂けると幸いです。 宜しくお願い致します。 <form name="escart1" action="http://サーバーアドレス" method="post"> 商品の種類: <select name="opt1"> <option value="--選択して下さい--">--選択して下さい--</option> <option value="(1)@@500">(1)500円</option> <option value="(2)@@600">(2)600円</option> <option value="(3)@@700">(3)700円</option> </select> <select name="opt2"> <option value="--選択して下さい--">--選択して下さい--</option> <option value="(1)@@500">(1)500円</option> <option value="(2)@@600">(2)600円</option> <option value="(3)@@700">(3)700円</option> </select> <br>数量: <select name="num"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> <input type="image" src="../common/img/btn_cart2.gif" value="submit" alt="カートに入れる" width="164" height="30" /> <input type="hidden" name="sid" value="サーバーID"> <input type="hidden" name="pid" value="商品コード"> </form>

  • 確認画面で表示される商品名にリンクをつけるには!?

    よくショッピングカートとかで表示される確認画面で商品名は表示されるのですがこれをクリックして新しい画面(***.html)が出るようにするにはどうすればよいのでしょうか?よろしくお願いいたします。 ちなみに現在は下記のような感じになっています。 <form method=post action="../cart.asp"> <input type=hidden name="action" value="regist"> <input type=hidden name="goods" value"商品名"> <input type=hidden name="unit" value="100"> <input type=submit value="カゴへ"> </form>

    • ベストアンサー
    • CGI
  • ボタン別でフォームの送信先を変えたい

    同じ場所に3つある今のフォームを1つにまとめたいのですが、 「ラジオボタン」でやるのではなく「submitボタン」によって送信先の振り分けはできないのでしょうか? CGIなどを使って一旦クッションを置くのは問題ないです。何か参考になるサイトさんとかありましたら教えてください。 <form action="1.php" method="get" class="form" target="a" name="1"> <input type="hidden" name="s" value=90 /> <input type="hidden" name="t" value="e" /> <input type="text" name="moji" value="" size="8" /> <input type="submit" name="button" value="検索" /> </form> <form action="http://e.php" method="get" name="2" target="a"> <input type="hidden" name="test" value=et /> <input type="text" name="77" value="" size="8" /> <input type="submit" value="検索2" class="button" /> </form> <form action="http://8.cgi" method="get" target="a"> <input type="text" size="8" name="q" value="" /> <input type="submit" value="検索3" class="button" /> <input type="hidden" name="sut" value="JJ" /> </form>

    • ベストアンサー
    • CGI
  • ランダムリンクでリンク先を別ウィンドウに表示したい

    <form action="http://mkt.fem.jp/randomlink.cgi" method="get"> <input type="hidden" name="mode" value="link"> <input type="hidden" name="x" value="http://www.yahoo.co.jp/"> <input type="hidden" name="x" value="http://www.odn.ne.jp/"> <input type="hidden" name="x" value="http://www.bbiq.jp/"> <input type="hidden" name="x" value="http://www.ntt-west.co.jp/"> <input type="hidden" name="x" value="http://www.nttdocomo.co.jp/"> <input type="submit" value="タイトル~ランダムリンクだよ"></form> わかりやすい様にリンク先URLに差し支えのないものを入れました。 <input type="hidden" name="x" value="リンク先URL"> これを追加するだけでランダムリンク先は増えていきます。 質問ですが、これを表示させればリンク先は別ウィンドウにはなりません。今回は、リンク先を別ウィンドウに表示したいのです。 HTMLのどこを変えればいいのか、貼っていただけないでしょうか?

  • 子ウインドウのカート送信時に親ウインドウに結果表示したい

    親ウインドウからカート表示する子ウインドウ開き、 カートの送信ボタンを押した後、子ウインドウには カートを表示したままで、親ウインドウにカートを 表示したいのです。通常のカートだと送信ボタンを押すと そのウインドウにカート内容が表示されてしまいます。 子ウインドウ <form action="http://www.****.cgi" method="post"> <input type="hidden" name="_shop_id" value="****"> <select name="_item"> <option value="商品A\200">商品A \200 </select> <input type="hidden" name="_zaiko" value=""><select name="_num"> <option value="1">1 <option value="2">2 <option value="3">3 </select> <BR> <input type="hidden" name="_memo1"><input type="hidden" name="_memo2"> <input type="hidden" name="_memo3"> <input type=hidden name="ORDSTEP" value="step1"> <input type="submit" value="買い物カゴへ"></form> 親ウインドウ <script language="JavaScript"> <!-- var openWin ; //--> </script> </HEAD> <BODY> <DIV style="width : 42px;height : 16px;top : 55px;left : 157px; position : absolute; z-index : 1; " id="Layer1"><input type ="button" value ="OPEN" onclick ="openWin = window.open('testcart1.htm', '', 'width=400,height=400');" 以上よろしくお願いします。

  • セッションにIDを振って値を代入

    PHP初心者です。 PHP4.2.xを使っています。 ショッピングカートで購入した商品データをセッションで維持してカートに追加する機能部分を作っていますがうまくいきません。 コードは以下のとおりです。 【goods.php】 ----------------------------------------------------------- <? session_start(); ?> ■商品1 <form action="cart.php" method="POST"> <input type="hidden" name="id" value="1" /> <input name="num" type="text" /> <INPUT type=submit value="カートに追加"> </form> ■商品1 <form action="cart.php" method="POST"> <input type="hidden" name="id" value="2" /> <input name="num" type="text" /> <INPUT type=submit value="カートに追加"> </form> ----------------------------------------------------------- 【cart.php】 ----------------------------------------------------------- <? session_start(); if($_POST['id'] != ""){ $id = $_POST['id']; $num = $_POST['num']; // セッション名自体をIDで作っています。中身は個数のみです。 $_SESSION["$id"] = $num; } echo "カートに入ってる商品<br />"; for ($i = 0; $i<=100; $i++) { if (!empty($_SESSION["$i"])){ echo $_SESSION["$i"]. "<br>\n"; } } ?> ----------------------------------------------------------- goods.phpのファイルで商品1と商品2を1つずつカートに入れれば cart.phpのページで 1 1 と表示されるはずが、1しか出ません。 $_SESSION["1"] $_SESSION["2"]の中身が表示される予定でしたがそうならず、 そのときPOSTで投げられたIDしか$_SESSION["$id"]に保持されません。 どうすればどんどん商品をカートに追加できますでしょうか? アドバイスのほどどうぞよろしくお願いします!

    • ベストアンサー
    • PHP
  • 複数プルダウンで検索

    楽天市場自社サイト内に、3種類のプルダウンから選択した商品を検索したく試行錯誤していますが私の知識では限界だと言うことがわかりました。 お力をいただければと思い投稿いたしました。 何か良い方法はありますでしょうか <BODY> <FORM name="myForm" method="GET" action="http://esearch.rakuten.co.jp/rms/sd/esearch/vc?" target="_blank"> 種類<BR> <SELECT NAME="t1"> <OPTION VALUE="Tシャツ" SELECTED>Tシャツ <OPTION VALUE="Gパン">Gパン <OPTION VALUE="トレーナー">トレーナー </SELECT> <BR> サイズ<BR> <SELECT NAME="t2"> <OPTION VALUE="S" SELECTED>S <OPTION VALUE="M">M <OPTION VALUE="L">L </SELECT> <BR> 色<BR> <SELECT NAME="t3"> <OPTION VALUE="レッド" SELECTED>レッド <OPTION VALUE="ホワイト">ホワイト <OPTION VALUE="ブラック">ブラック </SELECT> <BR> <BR> <BR> <input type="hidden" name="sid" value="xxxxxx"><input type="hidden" name="su" value="xxxxxx"><input type="hidden" name="sn" value="xxxxxx"><input type="text" name="sitem"><BR> <input type="button" name="sitem" value="結合" onClick="ketugou()"><BR> <BR> <br> <input type="submit" value="商品検索"></FORM> </BODY>

専門家に質問してみよう