- ベストアンサー
子ウインドウのカート送信時に親ウインドウに結果表示したい
- 親ウインドウからカートを表示したままで、子ウインドウにカートを送信した結果を表示する方法について知りたいです。
- 通常のカートでは送信ボタンを押すと別ウインドウにカート内容が表示されてしまいます。それを回避する方法を教えてください。
- 子ウインドウからカートを送信した後、親ウインドウにカートを表示する方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ソース全文を書き下ろしても良いのですが、でも、はっきり申し上げれば、このレベルのソースが理解できず、書き換えの仕方も判らないような状態で、e-Commerceサイトを構築しようとすること自体が無謀です。 Web製作の練習・勉強として、実際には使わないけれど学びたい、という程度であれば良いのですが、もし、ビジネスとしてWebページを使うことをお考えでしたら、もっと勉強されてから考えるか、または、きちんとしたWeb製作会社に委託するべきだと思いますよ。 一応、以下にソースの例を挙げておきます。 【子ウィンドウ】 <html> <head> <script language="javascript"> <!-- function c2p(obj){ var cvalue="" + obj.options[obj.selectedIndex].value; var pname="" + obj.name; window.opener.document.pfrm.elements[pname].value=cvalue; } //--> </script> </head> <body> <form> <select name="_item" id="_item" onChange="c2p(this);"> <option value="商品A\200">商品A \200 <option value="商品B\400">商品B \400 </select> <select name="_num" id="_num" onChange="c2p(this);"> <option value="1">1 <option value="2">2 <option value="3">3 </select> <br> <input type="button" onClick="window.opener.document.pfrm.submit();" value="ORDER"> </body> </html> 【親ウィンドウ】 <html> </head> <script language="JavaScript"> <!-- function opWin(){ subwin=window.open('testcart1.htm','','width=400,height=400'); } //--> </script> </head> <body> <div style="position:absolute; top:55px; left:157px; z-index:1;" id="Layer1"> <form> <input type ="button" value ="OPEN" onclick ="opWin();"> </form> </div> <form name="pfrm" id="pfrm" action="http://www.****.cgi" method="post" style="display:none;" onSubmit="window.subwin.document.cfrm.reset();"> <!-- <form name="pfrm" id="pfrm" onSubmit="window.subwin.document.cfrm.reset();"> //--> <input type="hidden" name="_shop_id" id="_shop_id" value="****"> <input type="hidden" name="_zaiko" id="_zaiko" value=""> <input type="text" name="_item" id="_item" value=""> <input type="text" name="_num" id="_num" value=""> <input type="hidden" name="_memo1" id="_memo1" value=""> <input type="hidden" name="_memo2" id="_memo2" value=""> <input type="hidden" name="_memo3" id="_memo3" value=""> <input type="hidden" name="ORDSTEP" id="ORDSTEP" value="step1"> </form> </body> </html>
その他の回答 (1)
- godakaz
- ベストアンサー率72% (16/22)
親ウィンドウ側に隠しフォーム(visibility:hidden)を設けておいて、 そちらの名前およびアクションを <form name="pf" id="pf" action="hogehoge.cgi" method="post">とし、 子ウィンドウのフォームに入力されるたびに、入力内容をこちらの隠しフォームにコピーしておきます。 そして、子ウィンドウのサブミットボタンを通常のボタンに換えて、以下のように ボタンが押されたら親ウィンドウのフォームをサブミットするように指示します。 <input type="button" onClick="window.opener.document.pf.submit();" value="買い物カゴへ"> こうすると、CGIの呼び出し元=親ウィンドウになりますので、お問合せの問題は解決できるかと思います。
お礼
記入場所を間違えました・・・。 ご回答ありがとうございます。 私、最近勉強を始めたところでして、 ご回答頂いた内容をページにどう反映したら良いか 分かりません。 大変申し訳ありませんが、どのように変更するのか、 大変お手数ですが、変更した内容(全文)をお書き頂け ないでしょうか。よろしくお願いいたします。
補足
ご回答ありがとうございます。 私、最近勉強を始めたところでして、 ご回答頂いた内容をページにどう反映したら良いか 分かりません。 大変申し訳ありませんが、どのように変更するのか、 大変お手数ですが、変更した内容(全文)をお書き頂け ないでしょうか。よろしくお願いいたします。