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 相关文章推荐
解放web程序员的输入验证
Oct 06 Javascript
jQuery 核心函数以及jQuery对象
Mar 23 Javascript
java与javascript之间json格式数据互转介绍
Oct 29 Javascript
弹出窗口并且此窗口带有半透明的遮罩层效果
Mar 13 Javascript
单元选择合并变色示例代码
May 26 Javascript
详解javascript传统方法实现异步校验
Jan 22 Javascript
JavaScript的兼容性与调试技巧
Nov 22 Javascript
使用jquery+iframe做一个ajax上传效果(实例)
Aug 24 jQuery
Vue拖拽组件开发实例详解
May 11 Javascript
layer父页获取弹出层输入框里面的值方法
Sep 02 Javascript
js基础之事件捕获与冒泡原理
Oct 09 Javascript
深入理解redux之compose的具体应用
Jan 12 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实现网上点歌(二)
2006/10/09 PHP
火车头采集器3.0采集图文教程
2007/03/17 PHP
PHP图片上传代码
2013/11/04 PHP
FileUpload上传图片(图片不变形)
2010/08/05 Javascript
浅析js中2个等号与3个等号的区别
2013/08/06 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
JS表格组件神器bootstrap table详解(基础版)
2015/12/08 Javascript
jQuery实现网页顶部固定导航效果代码
2015/12/24 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
2016/01/21 Javascript
javascript实现数字倒计时特效
2016/03/30 Javascript
jQuery ajax提交Form表单实例(附demo源码)
2016/04/06 Javascript
Bootstrap表单组件教程详解
2016/04/26 Javascript
Bootstrap实现登录校验表单(带验证码)
2016/06/23 Javascript
jQuery无缝轮播图代码
2016/12/22 Javascript
javascript笔记之匿名函数和闭包
2017/02/06 Javascript
vue2.0的虚拟DOM渲染思路分析
2018/08/09 Javascript
Vue2.5学习笔记之如何在项目中使用和配置Vue
2018/09/26 Javascript
Javascript实现秒表倒计时功能
2018/11/17 Javascript
React实现评论的添加和删除
2020/10/20 Javascript
Python使用time模块实现指定时间触发器示例
2017/05/18 Python
python生成圆形图片的方法
2020/03/25 Python
Python 循环终止语句的三种方法小结
2019/06/24 Python
Python调用C语言的实现
2019/07/26 Python
pytorch方法测试——激活函数(ReLU)详解
2020/01/15 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
django 数据库 get_or_create函数返回值是tuple的问题
2020/05/15 Python
HTML5中语义化 b 和 i 标签
2008/10/17 HTML / CSS
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
教师专业自荐信
2014/05/31 职场文书
大学生村官个人对照检查材料(群众路线)
2014/09/26 职场文书
2014年人事专员工作总结
2014/11/19 职场文书
分居协议书范本(律师见证版)
2014/11/26 职场文书
数学教师个人总结
2015/02/06 职场文书
月考总结与反思
2015/10/22 职场文书
读《解忧杂货店》有感:请相信一切都是最好的安排
2019/11/07 职场文书
MySQL大小写敏感的注意事项
2021/05/24 MySQL