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 html页面倒计时可精确到秒
Oct 22 Javascript
Jquery实现动态切换图片的方法
May 18 Javascript
Jquery结合HTML5实现文件上传
Jun 25 Javascript
JavaScript文档碎片操作实例分析
Dec 12 Javascript
使用JavaScript获取Request中参数的值方法
Sep 27 Javascript
js下载文件并修改文件名
May 08 Javascript
ES6模块化的import和export用法方法总结
Aug 08 Javascript
js中json对象和字符串的理解及相互转化操作实现方法
Sep 22 Javascript
Popup弹出框添加数据实现方法
Oct 27 Javascript
利用百度地图API获取当前位置信息的实例
Nov 06 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
Nov 28 Javascript
Vue通过懒加载提升页面响应速度
May 10 Vue.js
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数组函数
2008/08/18 PHP
php 异常处理实现代码
2009/03/10 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
2014/07/28 PHP
深入理解PHP中的empty和isset函数
2016/05/26 PHP
关于jquery动态增减控件的一些想法和小插件
2010/08/01 Javascript
让JavaScript拥有类似Lambda表达式编程能力的方法
2010/09/12 Javascript
jQuery获得子元素个数的方法
2015/04/14 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
把普通对象转换成json格式的对象的简单实例
2016/07/04 Javascript
AngularJS ng-bind-template 指令详解
2016/07/30 Javascript
H5实现仿flash效果的实现代码
2017/09/29 Javascript
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
2018/05/22 Javascript
vue解决使用webpack打包后keep-alive不生效的方法
2018/09/01 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
浅析微信小程序modal弹窗关闭默认会执行cancel问题
2019/10/14 Javascript
webpack常用构建优化策略小结
2019/11/21 Javascript
如何阻止移动端浏览器点击图片浏览
2020/08/29 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 战前探营!
2014/05/21 DOTA
Python时间模块datetime、time、calendar的使用方法
2016/01/13 Python
Python实现代码统计工具(终极篇)
2016/07/04 Python
Python标准模块--ContextManager上下文管理器的具体用法
2017/11/27 Python
python中闭包Closure函数作为返回值的方法示例
2017/12/17 Python
Python内置模块ConfigParser实现配置读写功能的方法
2018/02/12 Python
pybind11在Windows下的使用教程
2019/07/04 Python
python由已知数组快速生成新数组的方法
2020/04/08 Python
PyInstaller的安装和使用的详细步骤
2020/06/02 Python
Bootstrap File Input文件上传组件
2020/12/01 HTML / CSS
澳大利亚制造的羊皮靴:Original UGG Boots
2017/11/13 全球购物
世界闻名的衬衫制造商:Savile Row Company
2018/07/30 全球购物
高级护理专业大学生求职信
2013/10/24 职场文书
宝宝周岁宴答谢词
2014/01/26 职场文书
法学院方阵解说词
2014/01/29 职场文书
陈欧广告词
2014/03/14 职场文书
诉讼代理人授权委托书
2014/10/11 职场文书
用javascript制作qq注册动态页面
2021/04/14 Javascript
详解Mysql数据库平滑扩容解决高并发和大数据量问题
2022/05/25 MySQL