JavaScript集(QueryStringの受け渡し)

QueryStringの受け渡し(HTML)
フォームで何か情報を渡したい時に、CGIであればその情報を取得することは簡単ですが、htmlでは容易ではありません。
そこで、ここでは「GET」での場合のみパラメータを受け渡すJavaScriptを紹介します。

例えば、
http://homepage2.nifty.com/BASH/WWW/JavaScript/qs2.html?id=0000001
と、リンクしたときにidというNAMEで、0000001というValue値を取得できるようにします。
きちんと取得できるか、ここを参照ください。

なお、qs2.htmlの内容は以下の通りです。

<HTML>
<HEAD>
<TITLE>JavaScript集(QueryStringの受け渡し) -Bash Homepage-</TITLE>
<SCRIPT LANGUAGE="JavaScript">

<!--

var QS = new Array;
if (location.search.length > 1) {
 var m_Array = location.search.substr(1).split("&");
 for (idx in m_Array) {
  QS.push(m_Array[idx].split("="));
 }
}

//-->

</SCRIPT>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<SCRIPT LANGUAGE="JavaScript">
<!--
 for (idx in QS) {
  document.write("NAME=" + QS[idx][0] + "<BR>");
  document.write("VALUE=" + QS[idx][1] + "<BR>");
  document.write("<BR>");
 }
// -->
</SCRIPT>
</BODY>
</HTML>

QueryStringの受け渡し(フォーム)

次にフォームで渡す場合です。
<FORM>タグで渡す場合には、その中でJavaScriptを記述し、hiddenで渡すようになります。

その例を、下に紹介します。
<form action="/cgi-bin/java.cgi" method="post" NAME="FROM1" >

<input TYPE="hidden" NAME="ID" VALUE="">
<script>
<!--
document.forms["FROM1"].ID.value = location.search.substr(4,9);
//-->

</SCRIPT>
</FORM>

これは、このページのURLにすでにhttp://〜/*.html?id=0000001と付与されてきた場合に、「location.search.substr」で「id=0000001」というのを取得します。
(4,7)」では、「id=0000001」の「4バイト目から7バイト取得する」ということなので、「0000001」をIDという変数に入れています。
それをhiddenタグで次のCGIに渡しています。


WWW トップページへ戻る