このHTMLは、index.htmlから「<a href="link-para-receive3.html?e=abc&j=日本語" >」で呼び出されました。
そのパラメタ部分(「?」の後ろの部分)を、
paraName[0] = "e"; paraValue[0] = "abc";
paraName[1] = "j"; paraValue[1] = "日本語";
に入れる処理をします。
このHTMLおよびリンク元のHTMLの文字コードは UTF-8 です。
<script type="text/javascript">
function init() {
var paraPair = new Array(); // 行A
var paraName = new Array();
var paraValue = new Array();
var パラメタ部分 = location.search.split("?")[1];
var para = パラメタ部分.split("&"); // 行B
var パラメタ数 = para.length;
for (var i = 0; i <パラメタ数; i++) { // 行C
paraPair = para[i].split("="); // 行D
paraName[i] = decodeURIComponent(paraPair[0]);
paraValue[i] = decodeURIComponent(paraPair[1]);
}
var 結果 = "";
for (i = 0; i < パラメタ数; i++) {
結果 += "paraName[" + i + "] = " + paraName[i]
+ ", paraValue[" + i + "] = " + paraValue[i] + "<br>";
}
document.getElementById('表示場所').innerHTML = 結果;
}
</script>
<body onLoad="init()">
<div id="表示場所" class="red"></div>
例2(receive2)との違いは、行Aでの定義と行Cのループが加わったことです。
paraPair: paraPair[0] = "e=abc", paraPair[1] = "j=日本語" paraName: paraName[0] = "e", paraName[1] = "j" paraValue:paraValue[0] = "abc", paraValue[1] = "日本語"