• ベストアンサー

ショッピングカートによる値の受け渡し

80種類の生地を選べるHTML(A.html)からその選んだ生地のnameを B.htmlに渡したいと考えております。 B.htmlというのは80種類共通の有料オプションがいろいろ選べるhtmlです。生地はそれぞれ値段が違うのでそのnameで区別していきたいと思うのですが、うまくデータを受け渡すことが出来ません。できたらCGIやPERLは使いたくありません。 追加:わけあって二つのHTMLはサーバーが違います。 どなたかお力をお貸しください宜しくお願いします。

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

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

#1です こんな感じでどうでしょう? <script> window.onload=function(){ var data=location.search.substring(1).split("&"); for(var i in data){ if(str=data[i].match(/^id=(.*)$/)){ document.getElementById("ZZZ").value=str[1] } } } </script> <input type="text" name="ZZZ" id="ZZZ">

zyura
質問者

お礼

見事に動きました。 本当に助かりました。 yambejpさんありがとうございました。

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

その他の回答 (1)

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

>できたらCGIやPERLは使いたくありません。 GETで渡せばできないことはないですが、CGIをつかわないのであれば サーバーにデータが渡らないので、データ渡しする意味がないのでは? オプションだけ別サーバーというのも仕様上かなり問題があると思います。 GET渡しでデータを得るにはlocation.searchを参照するとよいでしょう。

zyura
質問者

補足

回答ありがとうございます。 GETでの方法をお伺いしたいのですが。 たとえばA.htmlのリンク先を 「http://XXXX.com/B.html?id=ABC」 とした場合にB.htmlで <input type="hidden" name="ZZZ" value="ABC"> というようなの記述をしたいのですが 可能でしょうか? またそのときのJavaScriptなどを教えていただければ非常に助かります。宜しくお願いいたします。

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

関連するQ&A

  • オプションに値段が付けられるショッピングカート

    お世話になります。よろしくお願いします。 色やサイズ等のオプションが設定できるショッピングカートのCGIスクリプトは沢山ありますが、オプションでの値段が設定できるCGIを探しています。 たとえば、Aという商品にa1(\800)という付属品をつけた場合、 a2(\500)という附属品をつけた場合、…、 そういうa1(\800)、a2(\500)、というオプションによる値段の合計が可能なものがあればと思います。 できればフリーのショッピングカートCGIスクリプトがうれしいです。欲張りなことを言えば、在庫管理ができて、メール通知があるようなものが最適です。 http://wb-i.kir.jp/wb-i/ ↑のショッピングカートでオプションに値段が付けられれば良いのですが…。私自身は簡単なPerlの改造はできます。

    • 締切済み
    • CGI
  • ショッピングカート カスタマイズ

    すいません、966で投稿しているのですが 更に詳しく理解して頂く為に再投稿させて頂きます。 現在、初心者ながら出来上がっている 「ショッピングカート」をカスタマイズしているの ですが困っています。下にあるプルダウン項目の 「詳細」A5 10冊 19000円 選択してカートに 入れた際に「詳細」A5 10冊「価格」19000円と 分けて表示させたいのですが、どうしたら良いか わからず困っておりますどなたかご存じの方、 助けて頂けませんか? 詳細は「syouhinnumber」価格は「kakaku」と 決まっている。現在は詳細、「A5 10冊 19000円」と 表示される。これを「詳細」A5 10冊「価格」19000円 とカートの中で分けて表示されるようにしたい。 現在は <form Action="http://www.*****.jp/cgi-bin/acart/setcook.cgi" METHOD=POST> <INPUT TYPE="hidden"NAME="shouhinmei" VALUE="ヨコ 見積書"> <INPUT TYPE="hidden"NAME="kazu" VALUE="1"> <INPUT TYPE="hidden" NAME="kakaku" VALUE="19000"> <TABLE BORDER=0> <TR><TD ALIGN=right>詳細</TD> <TD><SELECT name="shouhinnumber"> <OPTION>A5 10冊 19000円 <OPTION>A5 20冊 22000円 <OPTION>A5 30冊 25000円 <OPTION>A5 50冊 28000円 <OPTION>A5100冊 31000円 </SELECT> </TD></TR> <TR><TD></TD> <TD valign="middle"> <INPUT NAME="SUBMIT" TYPE="SUBMIT" VALUE="注文する"> </TD></TR> </TABLE> となっています。訂正・追加する箇所を教えて 頂けませんか?お願い致します。

    • 締切済み
    • CGI
  • PHPでのセレクトボックスの値の取得について

    入力画面(HTML)で都道府県をセレクトボックス で入力したいんですが、入力画面のHTMLに北海道から沖縄まで書くのは大変だし、 もしかしたらエリアを限定するかもしれないので 外部ファイル(例:area_data)にカンマ区切りで北海道から沖縄まで書いたものを optionの部分に入れたいと思います。 Perlでやるとこんな感じで出来たんですがこれをPHPでやるにはどうすればいいのか教えてください。 ただ単にPerl(の関数)をPHPに直すだけでできるものなのでしょうか? ----------------Perl(sample.cgi) mode:new--------------------------- ##===================== ## 都道府県の設定 = ##===================== if(!open(DATA,$area_data)){ &error('システムエラー','エリアデータファイルをオープンできません。'); } @area_data = <DATA>; close(DATA); @area = split(/,/,$area_data[0]); foreach(@area){ $option_val .= qq|<option value="$_">$_</option>\n|; } ##=============================== ## マクロリファレンス置き換え = ##=============================== foreach(@html){ s/_%option_val%_/$option_val/g; } ##========================= ## 入力画面HTML 出力 = ##========================= print <<"EOF"; Content-type: text/html @html EOF exit; } ---------------入力画面html------------------------------------------ <form name="form1" method="post" action="sample.cgi"> <input type="hidden" name="mode" value="new1"> <select name="address_a"> _%option_val%_ </select> </form> ---------------Perl(sample.cgi) mode:new1---------------------------- 入力確認画面のHTMLを開く ##=============================== ## マクロリファレンス置き換え = ##=============================== foreach(@html){ s/_%address_a%_/$param{'address_a'}/g; } ##========================= ## 入力確認画面HTML 出力 = ##========================= print <<"EOF"; Content-type: text/html @html EOF exit; } ---------------入力確認画面html---------------------------------------- <form name="form1" method="post" action="sample.cgi"> <input type="hidden" name="mode" value="new2"> <input type="hidden" name="address_a" value="_%address_a%_"> _%address_a%_ </form>

    • ベストアンサー
    • PHP
  • 複数のチェックボックスの値を、ひとつの変数に入れて表示したい。

    Perlで質問です。 下記のようなフォームで、A~Fまでのチェックボックスを選んで「test.cgi」にデータを送ります。 <HTML> <BODY> <FORM action="test.cgi"> <input name="q6_1" type="checkbox" value="A">A<br> <input name="q6_2" type="checkbox" value="B">B<br> <input name="q6_3" type="checkbox" value="C">C<br> <input name="q6_4" type="checkbox" value="D">D<br> <input name="q6_5" type="checkbox" value="E">E<br> <input name="q6_6" type="checkbox" value="F">F<br> <input name="q6_7" type="checkbox" value="G">G<br> <INPUT type="submit"> </FORM> </BODY> </HTML> 次の画面で、選ばれた物の確認画面を変数「$work6」を呼び出して表示したいと思っています。 <HTML> <BODY> A / B / C / D / E / F </BODY> </HTML> この処理をperlを使ってやりたいのですが、どうやったらいいのかわかりません。 for を使って「q6_1~7」を呼び出し、それぞれの最後に「 / 」を追加したあとファイルハンドルを使って、変数「$work6」に追加上書きして表示、と言うことをすれば良いのだろうと、下記のソースを書いて見ましたが、うまくいきませんでした。 (たぶん間違いだらけだと思いますが…。) open(IN, ">>$work6"); for ($q6 = 1; $q6 < 7; $q6++){ if ($FORM{'q6_$q6'} ne '') { print IN "$FORM{'q6_$q6'}." / ""; } } close(IN); つたない質問だと思いますが、 よろしくお願いします。

    • ベストアンサー
    • Perl
  • チェックボックスのperlでの値の渡し方

    perlに限らず、CGIもJavascriptも初心者なのにHPでアンケートを作ろうとしている者です。機能はアンケートの末尾の「確認」を押すとCGIの“確認画面”が表示され、その後「送信」で記述内容がメール送信されるというものです。複数回答があるチェックボックスのperlでの値の渡し方を教えてください。症状として以下の様に記述した場合、AとCにチェックをすると「C」しか受け取れません。ちなみにチェックボックスに規定以上の数(例えば「最大2つまで回答可」みたいな)がチェックされたら瞬時にアラートが出るようにするJavascriptを使っていますので“name”は同一にしたいのですが。 ★CGIの記述 → $FORM{'test'} ★HTMLの記述↓ <INPUT type="checkbox" name="test" value="A">A <INPUT type="checkbox" name="test" value="B">B<INPUT type="checkbox" name="test" value="C">C 「配列変数」とやらが必要らしいのですが、どんな記述にすれば良いのかサッパリです。

    • ベストアンサー
    • Perl
  • CGIへの見えない値の渡し方?

    CGI(Perl)初心者です。 私の稚拙な認識ですと、WebページにあるHTMLからCGIへ値を渡すときは、 http://oshiete1.goo.ne.jp/oshiete_new.php3?a=1&b=test1&c=251 のように、URLの後ろにa=1&b=test1&c=251のように変数と値を一緒に送るものかと思っていました。 しかし、なかには表示しないで値の受渡をするものもあるようです。 どのように値を受け渡しているのかを教えてください。

    • ベストアンサー
    • CGI
  • CGI.pmによるプルダウンメニューのvalue値取得方法について

    CGI.pmを使ってプルダウンメニューのvalue値を得たいのですが、ラジオボタンと同じ記述で取得できると聞きましたが上手くいきません。ちなみにラジオボタンはうまくいきました。HTMLの記述が良くないのでしょうか?教えてください。 【HTML】 <select size="1" name="q1"> <option>選択してください</option> <option value="A">A</option> <option value="B">B</option> <option value="C">C</option> </select> 【CGI】 use CGI; $q = new CGI; $p1 = $q->param('q1');

    • ベストアンサー
    • Perl
  • プルダウンの値から別の値を引張る?(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の値を選択すれば、自動的に商品名の値も対応したものが選択でき、カート内に明記できることです。 商品価格はすべて同じです。 少々表現が分かりにくいかもしれませんが、ご教授いただければ幸いです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • フリーのカートCGIを基にカスタマイズしているのですが、どうしても解決

    フリーのカートCGIを基にカスタマイズしているのですが、どうしても解決できない問題が出て困っています。 チェックボックスの「VALUE」で複数の値を設定し、それを分割させて反映したいのですが、どうしても出来ません。 【HTML】 <INPUT TYPE = "checkbox" NAME = "option1" VALUE = "オプション1,5000" /> オプション1を追加(+¥5,000円)   <INPUT TYPE = "checkbox" NAME = "option2" VALUE = "オプション2,2500" /> オプション2追加(+¥2,500円) 【CGI】 print <<EOM; <th class="th1">オプション</th> <th class="th1">合計</th> my (%option1name,%option1price); @furirua = split(/,/ , option1); $option1name = $option1[0]; $option1price = $option1[1]; my (%furirubname,%furirubprice); @option2 = split(/,/ , option2); $option2name = $option2[0]; $option2price = $option2[1]; print "<td align=\"center\" class=\"td1\">$option1name<br>$option2name</td>"; my $kei2 = ($price{$code} + $option1price + $option2price) * $num; my $kei3 = &comma($kei2); print "<td align=\"right\" class=\"td2\">$kei3円</td>"; VALUEの最初の値は「オプション名」次が「価格」です。(項目は「製品名」等他にもあります) カート内でそれぞれに分かれて、「オプション名」は「オプション」の項目内に、 「価格」は本体価格($price{$code})と合計して個数($num)で掛けた値を「合計」出す。 上記のやり方だと、「オプション」の項目に、オプション1のVALUEが2つとも表示されてしまいます。 また一つだけ選ぶと、減った分?VALUEの項目がずれてしまいました。 こんな状態です。 【例】 <th class="th1">オプション</th> <td>オプション1<br>5000</td> オプション2の内容は次の項目に反映されてしまいます。 目標は 【例】(本体価格10,000円 オプション1と2を選択) <th class="th1">オプション</th> <th class="th1">合計</th> <td>オプション1<br>オプション2</td> <td>17,500円</td> CGIはまだあまり詳しくなく、いろいろ調べて試しながらカスタマイズしているのですが、今回のチェックボックスは全然解決できず時間も無くなってきました。 すみませんが、宜しくお願いします。

  • Valueの値によってActionの送信先を振り分けるには?

    ユーザーさんに入力してもらうフォームは1つにして、入力された値によって、AのCGIで処理させたりBのCGIで処理させたりできたら良いと思っています。 すでにHTMLでフォームは作成しているので、このHTMLをCGIで出力させて、そこでIF文を加える事によって、フォームの送信先を2つに振り分ける事はできるでしょうか? HTMLをCGIで出力させるCGIは見た事がるのですが、フォームの送信先をどのように振り分けたら良いのか分かりません。 例えば、フォーム中に下記の選択肢が」あるとします。 <input type=radio name=sentaku value="0" checked> <input type=radio name=sentaku value="1" > 上を選択(value="0")したらAのCGIへフォーム内容を送信。 下を選択(value="1")されたら、BのCGIへフォーム内容を送信するようにしたいです。 このような処理は、簡単にできるのでしょうか? それとも難しいですか? 仮のHTMLのソースを記述しておきます。 <html> <head> <title>テスト</title> </head> <body> <form action=**** method=post> ◆Aへ <input type=radio name=sentaku value="0" checked><br> ◆Bへ<input type=radio name=sentaku value="1" ><br> <input type=submit value="送信する"> </form> </body> </html> 上記のソースは仮なので、実際使用しているソースとは違います。 HTMLをCGIで出力するCGIを使用したり、このソースを改造する事でactionの送信先を振り分ける事はできますか? JavaScriptを使用しない方法を希望します。 アドバイスをお願い致します。

このQ&Aのポイント
  • 彼氏にご飯を奢られた際の発言が不快に感じた投稿者。この発言は冗談なのか、モラハラなのか悩んでいる。
  • 人前での彼氏の行動や冗談が苦手な投稿者は、その発言から彼氏の性格に不安を抱く。
  • 彼氏の「人の金で食う飯は美味いか?」の発言を指摘すべきか迷っている投稿者が、自身の感情を整理する。
回答を見る

専門家に質問してみよう