本文自定义JS功能函数可动态添加网址参数
修改网址参数值
具体实现如下
感兴趣的朋友可以参考下
希望对大家有所帮助
无论是前端开发还是后台设计很多时候开发人员都需要获取当前或目标网址的相关信息这个已有现成的内置对象属性可以直接调用了(下面是获取当前页面的参考代码)
复制代码 代码如下:
<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(
?
)>
){
URL = substr(
indexOf(
?
));//不包含参数
Parms = substr(indexOf(
?
)+
length);//参数
}
else{
URL = Turl;
Parms =
;
}
}
if (Parms!=
){
var i;
ParmsArr = Parms
split("&");
for(i=
;i<=ParmsArr
length
;i++){
if (String(Parm)
toUpperCase()==String(ParmsArr[i]
split("=")[
])
toUpperCase()){//原来有参数Parm则改变其值
ParmsArr[i] = Parm + "=" + PValue;
IsExist = true;
if (String(ClearParm) ==""){
break;
}
}
else if ( (String(ClearParm)!="") && (String(ClearParm)
toUpperCase()==String(ParmsArr[i]
split("=")[
]))
toUpperCase() ){//去掉参数ClearParm的值
ParmsArr[i] = ClearParm + "=";
}
}
for(i=
;i<=ParmsArr
length
;i++){
if(i==
){
Parms = ParmsArr[i];
}
else{
Parms = Parms + "&" + ParmsArr[i];
}
}
NewURL = URL + "?" + Parms;
if (!IsExist){
NewURL = NewURL + "&" + Parm + "=" + PValue;
}
}
else{
NewURL = URL + "?" + Parm + "=" + PValue;
}
return NewURL;
}
其实这功能在实际应用中很好使在分页跳转多条件查询搜索等功能中尤为突出