JS自定义功能函数实现动态添加网址参数修改网址参数值
JS自定义功能函数实现动态添加网址参数修改网址参数值
发布时间:2016-12-30 来源:查字典编辑
摘要:无论是前端开发还是后台设计,很多时候开发人员都需要获取当前或目标网址的相关信息。这个已有现成的内置对象属性可以直接调用了(下面是获取当前页面...

无论是前端开发还是后台设计,很多时候开发人员都需要获取当前或目标网址的相关信息。这个已有现成的内置对象属性可以直接调用了(下面是获取当前页面的参考代码)

复制代码 代码如下:

<script type="text/javascript">

thisURL = document.URL;

thisHREF = document.location.href;

thisSLoc = self.location.href;

thisDLoc = document.location;

strwrite = " thisURL: [" + thisURL + "]<br>"

strwrite += " thisHREF: [" + thisHREF + "]<br>"

strwrite += " thisSLoc: [" + thisSLoc + "]<br>"

strwrite += " thisDLoc: [" + thisDLoc + "]<br>"

document.write( strwrite );

</script>

但有时候我们需要改变目前网址的参数/参数值,这时候大家会如何处理呢?一般应该都会先通过获取所有参数的信息,然后再根据实际需求来对某一参数进行修改。没错!根据这一原理,今天就给大家分享一下个人在开发中封装的功能函数。

//=============== 改变网址的参数值 ================

复制代码 代码如下:

function ChangeURLParm(Turl,Parm,PValue,ClearParm){

//Turl: 网址

//Parm: 参数

//PValue: 参数值

//ClearParm: 要清除的参数

var URL,Parms,ParmsArr,IsExist;

var NewURL = Turl;//window.location.href

IsExist = false;

with(Turl){

if(indexOf('?')>0){

URL = substr(0,indexOf('?'));//不包含参数

Parms = substr(indexOf('?')+1,length);//参数

}

else{

URL = Turl;

Parms = '';

}

}

if (Parms!=''){

var i;

ParmsArr = Parms.split("&");

for(i=0;i<=ParmsArr.length-1;i++){

if (String(Parm).toUpperCase()==String(ParmsArr[i].split("=")[0]).toUpperCase()){//原来有参数Parm则改变其值

ParmsArr[i] = Parm + "=" + PValue;

IsExist = true;

if (String(ClearParm) ==""){

break;

}

}

else if ( (String(ClearParm)!="") && (String(ClearParm).toUpperCase()==String(ParmsArr[i].split("=")[0])).toUpperCase() ){//去掉参数ClearParm的值

ParmsArr[i] = ClearParm + "=";

}

}

for(i=0;i<=ParmsArr.length-1;i++){

if(i==0){

Parms = ParmsArr[i];

}

else{

Parms = Parms + "&" + ParmsArr[i];

}

}

NewURL = URL + "?" + Parms;

if (!IsExist){

NewURL = NewURL + "&" + Parm + "=" + PValue;

}

}

else{

NewURL = URL + "?" + Parm + "=" + PValue;

}

return NewURL;

}

其实这功能在实际应用中很好使,在分页跳转、多条件查询搜索等功能中尤为突出。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类