スタートページJavascript

リンクでのパラメタ受け渡しテスト

他のHTMLをパラメタ付で呼び出す方法です。
 次のようにURLに「?・・・」をつけてパラメタを送ります。
   <a href="link-para-receive1.html?日本語" >

受取側のHTMLでは、そのパラメタを受け取るscriptが必要になります。
 そのscriptの説明は、受取側のHTMLをご覧ください。

このHTMLおよびリンク先HTMLの文字コードは UTF-8 で統一しているものとします。


無名称でのパラメタ渡し

パラメタが1個の場合

呼出側  <a href="URL?パラメタ" >
例1   link-para-receive1.html?日本語
受取側  para = "日本語" のように変数に値が入る。

パラメタが複数の場合

呼出側  <a href="URL?パラメタ1&パラメタ2&・・・" >
  区切記号(ここでは「&」)は任意だが、
    パラメタ内に区切記号がないこと、
    受取側が区切記号を知っている必要がある。
例2   link-para-receive2.html?abc&日本語
受取側  para[0] = "abc"; para[1] = "日本語" のように配列になる。
        (インデクスが0から始まることに注意!)

名称付のパラメタ渡し

呼出側  <a href="URL?名称1=パラメタ1&名称2=パラメタ2&・・・" >
  区切記号は「&」に定められており変更できない。
受取側の処理で2つの方法がある。

例3  link-para-receive3.html?e=abc&j=日本語
受取側 名称も値も配列として受け取る(インデクスが1から始まることに注意!)
    paraName[1] = "e"; paraValue[1] = "abc";
    paraName[2] = "j"; paraValue[2] = "日本語";

例4  link-para-receive4.html?e=abc&j=日本語
受取側 値を名称の関数として受け取る
    paraValue("e") = "abc";
    paraValue("j") = "日本語";

(備考)リンク先を変数で与える

リンク先やパラメタを文字列変数として与えることができます。
 下のボタンにより、リンク先とパラメタを変えています。

<script type="text/javascript">
    function jump(リンク先) {
        var URL;
        var パラメタ;
        if (リンク先 == 3) {
            URL = "link-para-receive3.html";
            パラメタ = "?e=abc&j=日本語";
        }
        if (リンク先 == 4) {
            URL = "link-para-receive4.html";
            パラメタ = "?e=xyz&j=英語";
        }
        location.href = URL + パラメタ;
    }
</script>

<p>
<input type="button" value="例3:receive3へ" onclick="jump(3)">
<input type="button" value="例4:receive4へ" onclick="jump(4)">
</p>

location.href

location.href は、<a href=… と同じ動作をします。例3をクリックしたときは、
    location.href = "link-para-receive3.html?e=xyz&j=英語";
となりますが、これはHTMLで
    <a href="link-para-receive3.html?e=xyz&j=英語">~</a>
で~部分をクリックしたときと同じ動作をします。

その他 location の主要プロパティに関しては、リンク先(receive1)を参照

(関連)フォーム入力データのパラメタ渡し

フォームで入力したデータをリンク先へのパラメタとして渡す方法については、「フォーム取得(2)他HTMLへのリンク」を参照してください。