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 相关文章推荐
JAVASCRIPT keycode总结
Feb 04 Javascript
基于JQuery.timer插件实现一个计时器
Apr 25 Javascript
js window.open弹出新的网页窗口
Jan 16 Javascript
详解JavaScript中shift()方法的使用
Jun 09 Javascript
JS实现支持Ajax验证的表单插件
Mar 24 Javascript
Ionic如何创建APP项目
Jun 03 Javascript
微信端开发--登录小程序步骤
Jan 11 Javascript
jquery实现拖动效果(代码分享)
Jan 25 Javascript
MVVM 双向绑定的实现代码
Jun 21 Javascript
微信小程序 slot踩坑的解决
Apr 01 Javascript
vue实现todolist功能、todolist组件拆分及todolist的删除功能
Apr 11 Javascript
微信小程序实现组件顶端固定或底端固定效果(不随滚动而滚动)
Apr 09 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内置函数生成随机数实例
2019/01/18 PHP
详解CSS样式中的 !important * _ 符号
2021/03/09 HTML / CSS
Extjs EditorGridPanel中ComboBox列的显示问题
2011/07/04 Javascript
基于Jquery的文字自动截取(提供源代码)
2011/08/09 Javascript
关于jquery.validate1.9.0前台验证的使用介绍
2013/04/26 Javascript
javascript 函数声明与函数表达式的区别介绍
2013/10/05 Javascript
js/jquery去掉空格,回车,换行示例代码
2013/11/05 Javascript
Javascript操作URL函数修改版
2013/11/07 Javascript
JS下载文件|无刷新下载文件示例代码
2014/04/17 Javascript
moment.js轻松实现获取当前日期是当年的第几周
2015/02/05 Javascript
easyui combobox开启搜索自动完成功能的实例代码
2016/11/08 Javascript
微信小程序登录态控制深入分析
2017/04/12 Javascript
Javascript中的作用域及块级作用域
2017/12/08 Javascript
详解vue.js下引入百度地图jsApi的两种方法
2018/07/27 Javascript
微信小程序 搜索框组件代码实例
2019/09/06 Javascript
Nodejs监控事件循环异常示例详解
2019/09/22 NodeJs
[53:43]VP vs NewBee Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
python UNIX_TIMESTAMP时间处理方法分析
2016/04/18 Python
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
python实现跨excel的工作表sheet之间的复制方法
2018/05/03 Python
Python3实现二叉树的最大深度
2019/09/30 Python
python Pillow图像处理方法汇总
2019/10/16 Python
解决torch.autograd.backward中的参数问题
2020/01/07 Python
Pytorch mask_select 函数的用法详解
2020/02/18 Python
Python检测端口IP字符串是否合法
2020/06/05 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
2020/06/11 Python
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
Hotels.com韩国:海外国内旅行所需的酒店和住宿预订网站
2020/05/08 全球购物
Ibatis如何使用动态表名
2015/07/12 面试题
称象教学反思
2014/02/03 职场文书
市场营销求职信范文
2014/02/21 职场文书
带刀到教室的检讨书
2014/10/04 职场文书
2014镇党委书记党建工作汇报材料
2014/11/02 职场文书
写给妈妈的感谢信
2015/01/22 职场文书
单位委托函范文
2015/01/29 职场文书
学生逃课万能检讨书2000字
2015/02/17 职场文书