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拖放插件集合
Apr 09 Javascript
给jQuery方法添加回调函数一款插件的应用
Jan 21 Javascript
利用webqq协议使用python登录qq发消息源码参考
Apr 08 Javascript
js动态切换图片的方法
Jan 20 Javascript
jQuery实现美观的多级动画效果菜单代码
Sep 06 Javascript
AngularJS上拉加载问题解决方法
May 23 Javascript
node.js实现快速截图
Aug 27 Javascript
关于验证码在IE中不刷新的快速解决方法
Sep 23 Javascript
Angular 4依赖注入学习教程之组件服务注入(二)
Jun 04 Javascript
js中apply()和call()的区别与用法实例分析
Aug 14 Javascript
vue.js中使用微信扫一扫解决invalid signature问题(完美解决)
Apr 11 Javascript
javascript实现打砖块小游戏(附完整源码)
Sep 18 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
php中实现xml与mysql数据相互转换的方法
2014/12/25 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
2016/03/25 PHP
Laravel中log无法写入问题的解决
2017/06/17 PHP
PHP依赖注入原理与用法分析
2018/08/21 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
2019/10/11 PHP
javascript instanceof 内部机制探析
2010/10/15 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
javascript验证邮件地址和MX记录的方法
2015/06/16 Javascript
jquery实现仿新浪微博评论滚动效果
2015/08/06 Javascript
基于JS代码实现导航条弹出式悬浮菜单
2016/06/17 Javascript
原生js实现tab选项卡切换
2020/03/23 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
2017/04/21 jQuery
微信小程序实现注册登录功能(表单校验、错误提示)
2019/12/10 Javascript
详解JavaScript中的链式调用
2020/11/27 Javascript
在Django中进行用户注册和邮箱验证的方法
2016/05/09 Python
python下os模块强大的重命名方法renames详解
2017/03/07 Python
python中reader的next用法
2018/07/24 Python
Python读取YUV文件,并显示的方法
2018/12/04 Python
Python基于百度云文字识别API
2018/12/13 Python
Pycharm设置utf-8自动显示方法
2019/01/17 Python
python图的深度优先和广度优先算法实例分析
2019/10/26 Python
Python使用指定字符长度切分数据示例
2019/12/05 Python
浅谈python多线程和多线程变量共享问题介绍
2020/04/17 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
eBay意大利购物网站:eBay.it
2019/09/04 全球购物
工作人员思想汇报
2014/01/09 职场文书
旅游项目开发策划书
2014/01/18 职场文书
运动会入场词200字
2014/02/15 职场文书
技校学生个人职业生涯规划范文
2014/03/03 职场文书
2014年公司庆元旦活动方案
2014/03/05 职场文书
幼儿园毕业典礼主持词
2014/03/21 职场文书
2014年应急管理工作总结
2014/11/26 职场文书
2015年党支部书记工作总结
2015/05/21 职场文书
三十年再续同学情倡议书
2019/11/27 职场文书
python中if和elif的区别介绍
2021/11/07 Python