javascript:设置URL参数的方法,适合多条件查询
适用场景:多条件查询情况,如下图所示:

通过设置URL参数,再结合数据源控件设置的RUL参数,就能进行简单的多条件查询了。
javascript函数:
<mce:script type="text/javascript"><!--
//设置URL参数的方法
function setParmsValue(parms, parmsValue) {
var urlstrings = document.URL;
var args = GetUrlParms();
var values = args[parms];
//如果参数不存在,则添加参数
if (values == undefined) {
var query = location.search.substring(); //获取查询串
//如果Url中已经有参数,则附加参数
if (query) {
urlstrings += ("&" + parms + "=" + parmsValue);
}
else {
urlstrings += ("?" + parms + "=" + parmsValue); //向Url中添加第一个参数
}
window.location = urlstrings;
}
else {
window.location = updateParms(parms, parmsValue); //修改参数
}
} //修改URL参数,parms:参数名,parmsValue:参数值,return:修改后的URL
function updateParms(parms, parmsValue) {
var newUrlParms = "";
var newUrlBase = location.href.substring(, location.href.indexOf("?") + ); //截取查询字符串前面的url
var query = location.search.substring(); //获取查询串
var pairs = query.split("&"); //在逗号处断开
for (var i = ; i < pairs.length; i++) {
var pos = pairs[i].indexOf('='); //查找name=value
if (pos == -) continue; //如果没有找到就跳过
var argname = pairs[i].substring(, pos); //提取name
var value = pairs[i].substring(pos + ); //提取value
//如果找到了要修改的参数
if (findText(argname, parms)) {
newUrlParms = newUrlParms + (argname + "=" + parmsValue + "&");
}
else {
newUrlParms += (argname + "=" + value + "&");
}
}
return newUrlBase + newUrlParms.substring(, newUrlParms.length - );
} //辅助方法
function findText(urlString, keyWord) {
return urlString.toLowerCase().indexOf(keyWord.toLowerCase()) != - ? true : false;
} //得到查询字符串参数集合
function GetUrlParms() {
var args = new Object();
var query = location.search.substring(); //获取查询串
var pairs = query.split("&"); //在逗号处断开
for (var i = ; i < pairs.length; i++) {
var pos = pairs[i].indexOf('='); //查找name=value
if (pos == -) continue; //如果没有找到就跳过
var argname = pairs[i].substring(, pos); //提取name
var value = pairs[i].substring(pos + ); //提取value
args[argname] = unescape(value); //存为属性
}
return args;
} --></mce:script>
测试代码:
<body>
<input type="button" id="Button1" onclick="setParmsValue('Test1','AAA')" value="设置URL参数[Test1=AAA]" />
<input type="button" id="Button2" onclick="setParmsValue('Test1','BBB')" value="设置URL参数[Test1=BBB]" />
<input type="button" id="Button3" onclick="setParmsValue('Test2','AAA')" value="设置URL参数[Test2=AAA]" />
<input type="button" id="Button4" onclick="setParmsValue('Test2','BBB')" value="设置URL参数[Test2=BBB]" />
</body>
javascript:设置URL参数的方法,适合多条件查询的更多相关文章
- 多浏览器兼容用javascript获取url参数的方法比较推荐的一种
多浏览器兼容用javascript获取url参数的方法比较推荐的一种 <script language = javascript> function request(paras){ var ...
- javascript获取url参数的方法
发布:thatboy 来源:Net [大 中 小] 本文介绍下,在javascript中取得url中某一个参数的方法,这里分享一个小例子,供大家学习参考下.本文转自:http://www. ...
- JavaScript获取URL参数公共方法
写一个JavaScript获取URL参数的通用方法,可以把它放到常用方法的JS文件中调用,直接上代码例子,新手可以学习一下! <!DOCTYPE html> <html lang=& ...
- 用JavaScript获取URL参数的方法之一
若地址栏URL为:abc.html?m=tomms&c=allsearchlist&pageNo=1&pageNum=20&text=1 <script> ...
- 使用jquery获取url以及jquery获取url参数的方法
使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下 1.window.location.href; 其实只是用到了javas ...
- 使用jquery获取url及url参数的方法及定义JQuery扩展方法
1.jquery获取url很简单,代码如下: window.location.href; 其实只是用到了javascript的基础的window对象,并没有用jquery的知识. 2.jquery获取 ...
- [开发笔记]-使用jquery获取url及url参数的方法
使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下: window.location.href; 其实只是用到了javasc ...
- 使用jquery获取url及url参数的方法
使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下: window.location.href; 其实只是用到了javasc ...
- 使用jquery获取url以及jquery获取url参数的方法(转)
使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下 1.window.location.href; 其实只是用到了javas ...
随机推荐
- C#常用控件缩写
- python命令行解析工具argparse模块【4】
上一节我们讲解了add_argument()方法,这一节我们将学习parse_args()方法. parse_args()方法的作用是解析命令行参数,并返回解析之后的 ...
- hdu 4180
题意; 求接近规定 分数 的 最大分数用到 farey 数列的第二条性质 1 #include <iostream> #include<stdio.h> using names ...
- 使用msys
下载地址:http://msys2.github.io/ 更新:pacman -Syu 安装git:pacman -S git 或者使用cygwin 调色:编辑~/.minttyrc Foregrou ...
- Spring (一) IOC ( Inversion Of Control )
前序 现在小米手机很火就还拿小米手机来举例子,上一篇写的关于SSH框架搭建是从小米手机公司内个整个流程方面来考虑,如何提高效率生产效率,这篇博客主要从公司外部环境说明如何提高生产效率,那么怎么才能提高 ...
- BestCoder Round #57 (div.2)
第一场BC...感觉还是多参加点比赛吧... 第一题水题各种乱搞就可以过 第二题依旧水题..记个前缀和就行了.. 虽说是2道水题..然而我T1提交时就过了20min, T2还RE了一发..第二次提交就 ...
- javascript时间函数
//时间函数 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完 ...
- php下正则表达式整理
一.正则表达式的历史背景 1,内容深厚的正则表达式 ^.+@.+\\..+$ 形式 字符串搜索与匹配的工具 2,应用范围 手机输入法 Windows文件搜索 linux 列出文件命令 网站用户注册,如 ...
- ZOJ 3713 In 7-bit (题意不好理解,十进制、二进制、十六进制的转换问题)
考验理解能力的时候到了 T^T Very often, especially in programming contests, we treat a sequence of non-whitespac ...
- 数据结构C语言版 表插入排序 静态表
数据结构C语言版 表插入排序.txt两个人吵架,先说对不起的人,并不是认输了,并不是原谅了.他只是比对方更珍惜这份感情./* 数据结构C语言版 表插入排序 算法10.3 P267-P270 编译 ...