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


Posted in Javascript onAugust 02, 2013

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

<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 相关文章推荐
jQuery 方法大全方便学习参考
Feb 25 Javascript
js 复制或插入Html的实现方法小结
May 19 Javascript
基于jQuery实现简单的折叠菜单效果
Nov 23 Javascript
学习JavaScript设计模式(多态)
Nov 25 Javascript
一个用jquery写的判断div滚动条到底部的方法【推荐】
Apr 29 Javascript
jQuery实现响应鼠标事件的图片透明效果【附demo源码下载】
Jun 16 Javascript
使用BootStrap实现悬浮窗口的效果
Dec 13 Javascript
vue组件生命周期详解
Nov 07 Javascript
Vue props 单向数据流的实现
Nov 06 Javascript
bootstrap table插件动态加载表头
Jul 19 Javascript
详解Vue中组件传值的多重实现方式
Aug 16 Javascript
在Vuex中Mutations修改状态操作
Jul 24 Javascript
jQuery function的正确书写方法
Aug 02 #Javascript
jquery 层次选择器siblings与nextAll的区别介绍
Aug 02 #Javascript
js 固定悬浮效果实现思路代码
Aug 02 #Javascript
仿新浪微博登陆邮箱提示效果的js代码
Aug 02 #Javascript
页面右下角弹出提示框示例代码js版
Aug 02 #Javascript
js获取IP和PcName(IE)在vs中可用
Aug 02 #Javascript
js获取location.href的参数实例代码
Aug 02 #Javascript
You might like
论建造顺序的重要性
2020/03/04 星际争霸
如何提高MYSQL数据库的查询统计速度 select 索引应用
2007/04/11 PHP
php使用Cookie实现和用户会话的方法
2015/01/21 PHP
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
2011/04/07 Javascript
jQuery实现根据类型自动显示和隐藏表单
2015/03/18 Javascript
jQuery视差滚动效果网页实现方法经验总结
2016/09/29 Javascript
微信 java 实现js-sdk 图片上传下载完整流程
2016/10/21 Javascript
AngularJS自定义插件实现网站用户引导功能示例
2016/11/07 Javascript
Node.js中多进程模块Cluster的介绍与使用
2017/05/27 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
2017/06/11 Javascript
jQueryUI Sortable 应用Demo(分享)
2017/09/07 jQuery
分析JS单线程异步io回调的特性
2017/12/01 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
layui-select动态选中值的例子
2019/09/23 Javascript
python服务器端收发请求的实现代码
2014/09/29 Python
python运行时间的几种方法
2016/06/17 Python
django model去掉unique_together报错的解决方案
2016/10/18 Python
Python GUI编程完整示例
2019/04/04 Python
python智联招聘爬虫并导入到excel代码实例
2019/09/09 Python
Python模拟登录requests.Session应用详解
2020/11/17 Python
一加手机美国官方网站:OnePlus美国
2019/09/19 全球购物
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
教育系毕业生中文求职信范文
2013/10/06 职场文书
浙江文明网签名寄语
2014/01/18 职场文书
2014年商场超市庆元旦活动方案
2014/02/14 职场文书
会计电算化毕业生自荐信
2014/03/03 职场文书
专题组织生活会方案
2014/06/15 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
工伤事故赔偿协议书
2014/10/27 职场文书
文明班级申报材料
2014/12/24 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
党员个人承诺书
2015/04/27 职场文书
盗窃罪辩护词范文
2015/05/21 职场文书
2016年会开场白台词
2015/06/01 职场文书
2019奶茶店创业计划书范本,值得你借鉴
2019/08/14 职场文书
宪法宣传标语100条
2019/10/15 职场文书