• ベストアンサー

javascriptでできる?

商品名があり、それをクリックすると、別のページに飛び、そこに商品名の値をもっていくというのはCGIでのみ可能で、javascriptでは「絶対」できない・・のでしたか? (cgiなら) <A HREF="next.cgi?shouhin=商品名">商品名</A> (javascriptで何か方法ある?) <A HREF="next.htm">商品名</A> #ふと、自信がなくなったので質問しました。

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

  • ベストアンサー
noname#199778
noname#199778
回答No.3

移動前のページでcookieにデータを送って、移動先のページでJavaScriptからcookieのデータを取り出せば、一応は可能だと思います。 具体的なソースについてはちょっと言及しにくいのですが、とりあえずJavaScriptでcookieにデータを送る時には document.cookie=送るデータ内容 と記述すれば良いと思います。 送るデータ内容については、「キー=値」の対応関係を明確にしておく必要がありますね。 cookieを取り出す時には、 変数=document.cookie; でcookieの生データを取り出すことができます。 cookieから取り出したデータを実際に利用する場合は、上で取得した生のデータを適宜加工して取り出してやる必要があります。 詳細については、参考URLなどの例を見ながら検討してみてください。 他にも、隠しフレームをあらかじめ用意しておいてそこにデータを一時保存するとか、サブウィンドウを開いてそこにデータを送るとか、そうしてサブウィンドウに送ったデータを取り出すなどでも、一応複数ページ間のデータの受け渡しは可能かと思います。 これらはいずれも間接的な方法になりますが… 参考になれば…

参考URL:
http://tohoho.wakusei.ne.jp/wwwcook.htm
s-holmes
質問者

お礼

回答ありがとうございました。 クッキーという手がありますね。 (^^; クッキーはコピーしたスクリプトしか使ったことがないので、これから試してみたいと思います。

その他の回答 (2)

  • tyoufu
  • ベストアンサー率28% (19/67)
回答No.2

<a href="next.html?shouhin=商品名">商品名</a> で送った情報を next.html 側で  location.search を使用すると  ?shouhin=商品名 と取得出来ます。 引数が2バイト文字が含まれている場合、エンコードしてあげなければ文字化けが起こります。

s-holmes
質問者

お礼

回答ありがとうございました。 >location.search こういう方法もあるのですね。 いろいろ試してみたいと思います。

noname#10926
noname#10926
回答No.1

とりあえず可能だと思います。 自分では考えつきませんが下記の参考URLでは可能です。 (テキストフィールドに初期値を設定(商品名)してスタイルシートでブランク状態にすれば親ウィンドウで値が隠れます) ただし、1(親)対1(子)での動作に限られるかもしれません。 詳しくはこの後の回答で・・・他の方お願いします。

参考URL:
http://www.openspc2.org/reibun/javascript/sub_window/033/index.html
s-holmes
質問者

お礼

回答ありがとうございました。 >(テキストフィールドに初期値を設定(商品名)してスタイルシートでブランク状態にすれば親ウィンドウで値が隠れます) いろいろと方法があるものですね。 試してみたいと思います。

関連するQ&A