现在的位置: 首页 > 综合 > 正文

js 获取(接收)地址栏参数值的方法

2012年10月19日 ⁄ 综合 ⁄ 共 1061字 ⁄ 字号 评论关闭

当地址栏含有参数,我们可以再目标页面通过window.location.search来获取我们需要的参数及其值
复制代码 代码如下:
// 获取地址栏的参数数组
function getUrlParams()
{
var search = window.location.search ;
// 写入数据字典
var tmparray = search.substr(1,search.length).split("&");
var paramsArray = new Array;
if( tmparray != null)
{
for(var i = 0;i<tmparray.length;i++)
{
var reg = /[=|^==]/; // 用=进行拆分,但不包括==
var set1 = tmparray[i].replace(reg,'&');
var tmpStr2 = set1.split('&');
var array = new Array ;
array[tmpStr2[0]] = tmpStr2[1] ;
paramsArray.push(array);
}
}
// 将参数数组进行返回
return paramsArray ;
}
// 根据参数名称获取参数值
function getParamValue(name)
{
var paramsArray = getUrlParams();
if(paramsArray != null)
{
for(var i = 0 ; i < paramsArray.length ; i ++ )
{
for(var j in paramsArray[i] )
{
if( j == name )
{
return paramsArray[i][j] ;
}
}
}
}
return null ;
}

当前我们的页面地址是http://www.jb51.net/tatame/admin/EditPosts.aspx?opt=1
可以看到url上含有一个参数
var opt = getParamValue("opt") ;
alert(opt);弹出为1了 。

复制代码 代码如下:
/********
接收地址栏参数
key:参数名称
**********/
function GetQuery(key) {
var search = location.search.slice(1); //得到get方式提交的查询字符串
var arr = search.split("&");
for (var i = 0; i < arr.length; i++) {
var ar = arr[i].split("=");
if (ar[0] == key) {
return ar[1];
}
}
}

在页面加载调用GetQuery('test')这个函数就好了,非常实用

抱歉!评论已关闭.