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 相关文章推荐
用JS剩余字数计算的代码
Jul 03 Javascript
caller和callee的区别介绍及演示结果
Mar 10 Javascript
javaScript(JS)替换节点实现思路介绍
Apr 17 Javascript
单击按钮发送验证码,出现倒计时的简单实例
Mar 17 Javascript
iscroll.js滚动加载实例详解
Jul 18 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
Jul 22 jQuery
js实现轮播图的两种方式(构造函数、面向对象)
Sep 30 Javascript
Vue 过滤器filters及基本用法
Dec 26 Javascript
vue-cli3 karma单元测试的实现
Jan 18 Javascript
15分钟深入了解JS继承分类、原理与用法
Jan 19 Javascript
JS实现网页时钟特效
Mar 25 Javascript
文章或博客自动生成章节目录索引(支持三级)的实现代码
May 10 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
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
PHP与javascript实现变量交互的示例代码
2013/07/23 PHP
yii添删改查实例
2015/11/16 PHP
PHP getName()函数讲解
2019/02/03 PHP
你需要知道的10个最佳javascript开发实践小结
2012/04/15 Javascript
jquery插件开发之实现md5插件
2014/03/17 Javascript
Jquery+asp.net后台数据传到前台js进行解析的方法
2014/05/11 Javascript
浅谈javascript 归并方法
2015/01/21 Javascript
JS实现的3D拖拽翻页效果代码
2015/10/31 Javascript
jQuery实现的多滑动门,多选项卡效果代码
2016/03/28 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
Node.js的项目构建工具Grunt的安装与配置教程
2016/05/12 Javascript
JavaScript学习笔记整理_用于模式匹配的String方法
2016/09/19 Javascript
Angular2使用Guard和Resolve进行验证和权限控制
2017/04/24 Javascript
微信小程序 wx.request方法的异步封装实例详解
2017/05/18 Javascript
React中常见的动画实现的几种方式
2018/01/10 Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
2018/01/16 Javascript
[01:02:47]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
Python爬虫之xlml解析库(全面了解)
2017/08/08 Python
python3+PyQt5实现柱状图
2018/04/24 Python
python 按不同维度求和,最值,均值的实例
2018/06/28 Python
利用django-suit模板添加自定义的菜单、页面及设置访问权限
2018/07/13 Python
Python实现的在特定目录下导入模块功能分析
2019/02/11 Python
Python 限制线程的最大数量的方法(Semaphore)
2019/02/22 Python
详解Python多线程下的list
2020/07/03 Python
python 如何上传包到pypi
2020/12/24 Python
html5 canvas 实现光线沿不规则路径运动
2020/04/20 HTML / CSS
遮罩层 + Iframe实现界面自动显示的示例代码
2020/04/26 HTML / CSS
Ray-Ban雷朋西班牙官网:全球领先的太阳眼镜品牌
2018/11/28 全球购物
不开辟用于交换数据的临时空间,如何完成字符串的逆序
2012/12/02 面试题
String s = new String(“xyz”);创建了几个String Object?
2015/08/05 面试题
垃圾回收的优点和原理
2014/05/16 面试题
应届生法律顾问求职信
2013/11/19 职场文书
卖车协议书
2014/04/21 职场文书
2015年置业顾问工作总结
2015/04/07 职场文书
排查Tomcat进程假死的问题
2022/05/06 Servers