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 Study Notes 学习笔记(一)
Aug 04 Javascript
document.createElement()用法
Mar 13 Javascript
connect中间件session、cookie的使用方法分享
Jun 17 Javascript
ECMAScript 6即将带给我们新的数组操作方法前瞻
Jan 06 Javascript
jquery动态创建div与input的实例代码
Oct 12 Javascript
jQuery+CSS实现的标签页效果示例【测试可用】
Aug 14 jQuery
vue+element-ui+axios实现图片上传
Aug 20 Javascript
layui上传图片到服务器的非项目目录下的方法
Sep 26 Javascript
vue组件 keep-alive 和 transition 使用详解
Oct 11 Javascript
vue项目中极验验证的使用代码示例
Dec 03 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
Aug 24 Javascript
微信小程序实现音乐播放页面布局
Dec 11 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获取二维数组中某一列的值集合
2015/12/25 PHP
php反射类ReflectionClass用法分析
2016/05/12 PHP
Thinkphp框架开发移动端接口(1)
2016/08/18 PHP
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
在页面中js获取光标/鼠标的坐标及光标的像素坐标
2013/11/11 Javascript
js模仿php中strtotime()与date()函数实现方法
2015/08/11 Javascript
jquery+html5时钟特效代码分享(可设置闹钟并且语音提醒)
2020/03/30 Javascript
Bootstrap 粘页脚效果
2016/03/28 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
Javascript 详解封装from表单数据为json串进行ajax提交
2017/03/29 Javascript
利用Node.js检测端口是否被占用的方法
2017/12/07 Javascript
ionic3实战教程之随机布局瀑布流的实现方法
2017/12/28 Javascript
详解jQuery中的easyui
2018/09/02 jQuery
vue使用原生js实现滚动页面跟踪导航高亮的示例代码
2018/10/25 Javascript
如何让node运行es6模块文件及其原理详解
2018/12/11 Javascript
浅谈小程序 setData学问多
2019/02/20 Javascript
详解关闭令人抓狂的ESlint 语法检测配置方法
2019/10/28 Javascript
Python实现的一个简单LRU cache
2014/09/26 Python
Python中实现对list做减法操作介绍
2015/01/09 Python
使用Python的内建模块collections的教程
2015/04/28 Python
简单学习Python time模块
2016/04/29 Python
python输出100以内的质数与合数实例代码
2018/07/08 Python
在PyCharm导航区中打开多个Project的关闭方法
2019/01/17 Python
Django项目使用ckeditor详解(不使用admin)
2019/12/17 Python
django在保存图像的同时压缩图像示例代码详解
2020/02/11 Python
选购世界上最好的美妆品:Cult Beauty
2017/11/03 全球购物
C#中有没有运算符重载?能否使用指针?
2014/05/05 面试题
Java如何调用外部Exe程序
2015/07/04 面试题
企业行政文员岗位职责
2013/12/03 职场文书
安全资料员岗位职责
2013/12/14 职场文书
技术总监管理职责范本
2014/03/06 职场文书
结婚喜宴主持词
2014/03/14 职场文书
年终奖发放方案
2014/06/02 职场文书
公务员年度考核个人总结
2015/02/12 职场文书
2015年扶贫帮困工作总结
2015/05/20 职场文书
搭建Yolov5服务器
2022/04/30 Servers