- ベストアンサー
javascriptでできる?
商品名があり、それをクリックすると、別のページに飛び、そこに商品名の値をもっていくというのはCGIでのみ可能で、javascriptでは「絶対」できない・・のでしたか? (cgiなら) <A HREF="next.cgi?shouhin=商品名">商品名</A> (javascriptで何か方法ある?) <A HREF="next.htm">商品名</A> #ふと、自信がなくなったので質問しました。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
移動前のページでcookieにデータを送って、移動先のページでJavaScriptからcookieのデータを取り出せば、一応は可能だと思います。 具体的なソースについてはちょっと言及しにくいのですが、とりあえずJavaScriptでcookieにデータを送る時には document.cookie=送るデータ内容 と記述すれば良いと思います。 送るデータ内容については、「キー=値」の対応関係を明確にしておく必要がありますね。 cookieを取り出す時には、 変数=document.cookie; でcookieの生データを取り出すことができます。 cookieから取り出したデータを実際に利用する場合は、上で取得した生のデータを適宜加工して取り出してやる必要があります。 詳細については、参考URLなどの例を見ながら検討してみてください。 他にも、隠しフレームをあらかじめ用意しておいてそこにデータを一時保存するとか、サブウィンドウを開いてそこにデータを送るとか、そうしてサブウィンドウに送ったデータを取り出すなどでも、一応複数ページ間のデータの受け渡しは可能かと思います。 これらはいずれも間接的な方法になりますが… 参考になれば…
その他の回答 (2)
- tyoufu
- ベストアンサー率28% (19/67)
<a href="next.html?shouhin=商品名">商品名</a> で送った情報を next.html 側で location.search を使用すると ?shouhin=商品名 と取得出来ます。 引数が2バイト文字が含まれている場合、エンコードしてあげなければ文字化けが起こります。
お礼
回答ありがとうございました。 >location.search こういう方法もあるのですね。 いろいろ試してみたいと思います。
とりあえず可能だと思います。 自分では考えつきませんが下記の参考URLでは可能です。 (テキストフィールドに初期値を設定(商品名)してスタイルシートでブランク状態にすれば親ウィンドウで値が隠れます) ただし、1(親)対1(子)での動作に限られるかもしれません。 詳しくはこの後の回答で・・・他の方お願いします。
お礼
回答ありがとうございました。 >(テキストフィールドに初期値を設定(商品名)してスタイルシートでブランク状態にすれば親ウィンドウで値が隠れます) いろいろと方法があるものですね。 試してみたいと思います。
お礼
回答ありがとうございました。 クッキーという手がありますね。 (^^; クッキーはコピーしたスクリプトしか使ったことがないので、これから試してみたいと思います。