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 相关文章推荐
重载toString实现JS HashMap分析
Mar 13 Javascript
extjs ColumnChart设置不同的颜色实现代码
May 17 Javascript
详解Bootstrap创建表单的三种格式(一)
Jan 04 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
Apr 01 Javascript
使用jQuery UI库开发Web界面的简单入门指引
Apr 22 Javascript
jQuery 3.0十大新特性
Jul 06 Javascript
基于Vue生产环境部署详解
Sep 15 Javascript
基于JS判断对象是否是数组
Jan 10 Javascript
antd-mobile ListView长列表的数据更新遇到的坑
Apr 08 Javascript
Vue实现Layui的集成方法步骤
Apr 10 Javascript
学习 Vue.js 遇到的那些坑
Feb 02 Vue.js
如何使用CocosCreator对象池
Apr 14 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+mysqli批量查询多张表数据的方法
2015/01/29 PHP
Laravel5中contracts详解
2015/03/02 PHP
学习php设计模式 php实现状态模式
2015/12/07 PHP
JQuery 学习笔记 选择器之二
2009/07/23 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
2013/08/27 Javascript
jQuery中复合属性选择器用法实例
2014/12/31 Javascript
浅谈js中的闭包
2015/03/16 Javascript
javascript中的五种基本数据类型
2015/08/26 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
2015/12/16 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
简单理解vue中实例属性vm.$els
2016/12/01 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
JS实现加载时锁定HTML页面元素的方法
2017/06/24 Javascript
使用Node.js实现简易MVC框架的方法
2017/08/07 Javascript
vue中element组件样式修改无效的解决方法
2018/02/03 Javascript
原生JS实现瀑布流插件
2018/02/06 Javascript
vue实现路由懒加载及组件懒加载的方式
2019/06/11 Javascript
antd中table展开行默认展示,且不需要前边的加号操作
2020/11/02 Javascript
[41:56]Spirit vs Liquid Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
编写Python CGI脚本的教程
2015/06/29 Python
关于Python面向对象编程的知识点总结
2017/02/14 Python
Numpy 改变数组维度的几种方法小结
2018/08/02 Python
python2与python3的print及字符串格式化小结
2018/11/30 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
2019/05/13 Python
使用Python3内置文档高效学习以及官方中文文档
2019/05/19 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
关于Pytorch的MNIST数据集的预处理详解
2020/01/10 Python
python中使用you-get库批量在线下载bilibili视频的教程
2020/03/10 Python
Html5移动端弹幕动画实现示例代码
2018/08/27 HTML / CSS
微信html5页面调用第三方位置导航的示例
2018/03/14 HTML / CSS
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
美术专业个人自我评价
2014/01/18 职场文书
产品质量承诺书
2014/03/27 职场文书
客户经理竞聘演讲稿
2014/05/15 职场文书
幼儿园家长安全责任书
2014/07/22 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书