• 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(1); //获取查询串   
                  //如果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(0, location.href.indexOf("?") + 1); //截取查询字符串前面的url  
              var query = location.search.substring(1); //获取查询串     
              var pairs = query.split("&"); //在逗号处断开     
              for (var i = 0; i < pairs.length; i++) {  
                  var pos = pairs[i].indexOf('='); //查找name=value     
                  if (pos == -1) continue; //如果没有找到就跳过     
                  var argname = pairs[i].substring(0, pos); //提取name     
                  var value = pairs[i].substring(pos + 1); //提取value   
                  //如果找到了要修改的参数  
                  if (findText(argname, parms)) {  
                      newUrlParms = newUrlParms + (argname + "=" + parmsValue + "&");  
                  }  
                  else {  
                      newUrlParms += (argname + "=" + value + "&");  
                  }  
              }  
              return newUrlBase + newUrlParms.substring(0, newUrlParms.length - 1);  
          }  
      
          //辅助方法  
          function findText(urlString, keyWord) {  
              return urlString.toLowerCase().indexOf(keyWord.toLowerCase()) != -1 ? true : false;  
          }  
      
          //得到查询字符串参数集合  
          function GetUrlParms() {  
              var args = new Object();  
              var query = location.search.substring(1); //获取查询串     
              var pairs = query.split("&"); //在逗号处断开     
              for (var i = 0; i < pairs.length; i++) {  
                  var pos = pairs[i].indexOf('='); //查找name=value     
                  if (pos == -1) continue; //如果没有找到就跳过     
                  var argname = pairs[i].substring(0, pos); //提取name     
                  var value = pairs[i].substring(pos + 1); //提取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>  
  • 相关阅读:
    OpenEuler下OpenSSL的安装
    《Unix/Linux系统编程》第四章学习笔记
    缓冲区溢出实验
    2.3.1测试
    鲲鹏服务器测试
    第六章学习笔记(20191213兰毅达)
    第五章学习笔记(20191213兰毅达)
    stat命令的实现-mysate(20191213兰毅达)
    反汇编测试(20191213兰毅达)
    OpenEuler树莓派基础实验
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4892221.html
Copyright © 2020-2023  润新知