• ベストアンサー
  • すぐに回答を!

javascriptでのURLの引数

  • 質問No.3872804
  • 閲覧数12405
  • ありがとう数11
  • 気になる数1
  • 回答数4
  • コメント数0

お礼率 9% (20/218)

CGIとかなしにおいてjavascriptで、URLの引数を参照できるのですか?
例えば、test.html?id=aaa&point=100において、
idとpointの値を参照したいのです。

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

  • 回答No.2
  • ベストアンサー

ベストアンサー率 36% (49/136)

<html>
<body >
<SCRIPT LANGUAGE="JAVASCRIPT">
<!--
var aMsg = "";
//aURL= "http://~/test.html?id=aaa&point=100
//の ?id=aaa&point=100 を取得
var aURL = location.search;

//URL を ? で分割
var aSplit1 = aURL.split("?");
if( aSplit1.length > 1 ){
//URL を &で分割
var aSplit2 = aSplit1[1].split("&");
var i;
var iMax = aSplit2.length;

// &で分割した物を = で分割
for( i = 0; i< iMax; i++ ){
aSplit3 = aSplit2[i].split("=");
aMsg += "[" + aSplit3[0] + "] = " + aSplit3[1] + "<br>";
}
}
document.write( aMsg );
//-->
</SCRIPT>
</body>
</html>

その他の回答 (全3件)

  • 回答No.4

ベストアンサー率 66% (1052/1578)

location.searchで?以降を取得できますので後は適当に解析すれば使えます。

//URLを解析してargというオブジェクトに格納
var arg = new Object;
var pair=location.search.substring(1).split('&');
for(i=0;pair[i];i++) {
var kv = pair[i].split('=');
arg[kv[0]]=kv[1];
}

//プロパティとして扱えます。
alert(arg["id"]);
alert(arg.point);
for(var x in arg){
alert(x+'::'+arg[x]);
}
  • 回答No.3

ベストアンサー率 58% (284/486)

yambejp氏に加えて、

文字列 '?id=aaa&point=100' は
    location.search
で得られます。このとき、'id=aaa&point=100'は
    location.search.substring(1)
で得られるので
------------------------------------------------------
var varstr = location.search.substring(1);
------------------------------------------------------
と書くことも出来ます。
  • 回答No.1

ベストアンサー率 51% (3827/7415)

ご自身で評価するスクリプトを書いてあげればいかがでしょうか?

<script>
var url="test.html?id=aaa&point=100"
var varstr=url.match(/\?(.*)$/)[1];
var array=varstr.split("&");
for(var i=0;i<array.length;i++){
var key=array[i].match(/^(.*)=/)[1];
var val=array[i].match(/=(.*)$/)[1];
document.write(key+"は"+val+"です<br>")
}
</script>

ただし、エンコードされたデータをデコードしたりするのはそれなりに
面倒ですが。
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ