JS动态添加网址参数,修改网址参数值的自定义功能函数

  • 作者:39℃
  • 来源:56gee
  • 更新时间:2013-07-30 13:17:43
  • 点击:10958
[0分]

Javascript JS动态添加网址参数,修改网址参数值的自定义功能函数

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

<script type="text/javascript">  
  thisURL = document.URL;  
  thisHREF = document.location.href;  
  thisSLoc = self.location.href;  
  thisDLoc = document.location;  
  strwrite = " thisURL:  [" + thisURL + "]
" strwrite += " thisHREF: [" + thisHREF + "]
" strwrite += " thisSLoc: [" + thisSLoc + "]
" strwrite += " thisDLoc: [" + thisDLoc + "]
" 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; 
} 

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

收藏内容
评分

特别说明:本站所有资源仅供学习与参考,请勿用于商业用途。若转载请注明来自56gee.com中的“来源”。

栏目精华