萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> JS自定義功能函數實現動態添加網址參數修改網址參數值

JS自定義功能函數實現動態添加網址參數修改網址參數值

本文自定義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('?')>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;
}


其實這功能在實際應用中很好使,在分頁跳轉、多條件查詢搜索等功能中尤為突出。

copyright © 萬盛學電腦網 all rights reserved