首頁 >web前端 >js教程 >JS自訂功能函數實作動態新增網址參數修改網址參數值_javascript技巧

JS自訂功能函數實作動態新增網址參數修改網址參數值_javascript技巧

WBOY
WBOY原創
2016-05-16 17:27:001222瀏覽

無論是前端開發還是後台設計,很多時候開發人員都需要取得目前或目標網址的相關資訊。這個已有現成的內建物件屬性可以直接呼叫了(下面是取得目前頁面的參考程式碼)

複製程式碼 程式碼如下:



但有時候我們需要改變目前網址的參數/參數值,這時候大家會如何處理呢?一般應該都會先透過取得所有參數的信息,然後再根據實際需求來對某一參數進行修改。沒錯!根據這原理,今天就來跟大家分享一下個人在開發中封裝的功能函數。
//=============== 改變網址的參數值================
複製程式碼 程式碼如下:

function ChangeURLParm(Turl,Parm,PValue,ClearParm){
/ 🎜>//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; iif (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 ;iif(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;
}


其實這功能在實際應用上很好使,在分頁跳轉、多條件查詢搜尋等功能中特別突出。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn