• ベストアンサー

javascriptからCGIにデータを持たせるには

こんがらがってきました。 javascriptにて得た値をhiddenなどに入れてsubmitして次ページに値を引っ張っていくのはわかります。 そうではなく、 たとえば全ページのURLをdocument.referrerで取得して、 <A HREF="next.cgi?maenopage=★">次のページへ</A> のように★の部分に入れてリンクで引っ張っていくのはできないと考えればいいのしたか。 できないと思っていたのですが、自信がなくなって来たので質問させていただきました。 #「絶対できません」という断言など含めてアドバイスを。 (^^;

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

  • ベストアンサー
  • zzzzzz
  • ベストアンサー率61% (70/113)
回答No.3

質問の意味がよく分からないので全く見当違いの回答をしているかもしれませんが。 データとして前のページのURLがとれているのであれば、 動的に「前のページへのリンク」を作成することは可能です。 以下、前のページのURLが変数prevLocationに格納されているとします。 方法としては、JavaScriptでA要素を書き出す方法と、HTMLで定義されたA要素に変更を加えるものとがあります。 前者は、書き出したい部分に <SCRIPT>document.write('<A href="'+prevLocation+'">前のページへ</A>');</SCRIPT> を記述すればできますし、後者は document.anchors[0].href = prevLocation; のようにすればできます。あるいは document.getElementById("anchorId").href = prevLocation; のようにします。 anchorsを利用する場合の注意点は比較的古いブラウザでも対応しているが、A要素の指定が数値でしかできないこと、 getElementByIdを使用する場合の注意点はDOM1に基づくメソッドなので、古いブラウザに対応していないことです。 なお、document.referrerは取得できないこともあります。

s-holmes
質問者

お礼

回答ありがとうございました。 詳しい説明で、とても有益な情報でした。こんなに深く勉強せずに切り貼りで作っているので、なんか自分の無知のバーゲンセールをやっている気分です。 (^^; おかげ様で、目的の処理ができました。

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

その他の回答 (2)

  • TMINET
  • ベストアンサー率32% (45/140)
回答No.2

出来ると思います。GET渡しの方法ですよね? いままではPOSTしか、つかっていなかったと。 ただ、受け取る側のCGIがGETとPOSTの両方に対応していなければなりませんが。 あと、GETですと256バイトまでですね、送れる文字数は。

s-holmes
質問者

お礼

回答ありがとうございました。 GET、POST・・確かに、区分してつかったこともなかったようです・・・。 無事目的達成できました。 (^O^)

すると、全ての回答が全文表示されます。
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

できますよ、自分で言ってるじゃないですか (^^; <form name=f action=next.cgi> <input type=hidden name=maenopage> </form> <a href="javascript:document.f.maenopage.value=document.referrer; document.f.submit()">次のページへ</a> とか。

s-holmes
質問者

お礼

回答ありがとうございました。 <a href="javascript:document.f.maenopage.value=document.referrer; document.f.submit()">次のページへ</a> こういう書き方もあるんですね。 全然知りませんでした。 #無知ほど・・・ (^^;

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

関連するQ&A