• 两个静态页面之间值传递方式


    实现html页面的参数传递

    方法一:
    下面是javascrīpt的一种实现方法, 这个函数是通过window.location.href中的分割符获得各个参数。

    有了这个函数,就可以在页面之间传递参数了。

    /*
    *函数功能:从href获得参数
    *sHref:   http://www.artfh.com/arg.htm?arg1=d&arg2=re
    *sArgName:arg1, arg2
    *return:    the value of arg. d, re
    */
    function GetArgsFromHref(sHref, sArgName)
    {
          var args    = sHref.split("?");
          var retval = "";
       
          if(args[0] == sHref) /*参数为空*/
          {
               return retval; /*无需做任何处理*/
          } 
          var str = args[1];
          args = str.split("&");
          for(var i = 0; i < args.length; i ++)
          {
              str = args[i];
              var arg = str.split("=");
              if(arg.length <= 1) continue;
              if(arg[0] == sArgName) retval = arg[1];
          }
          return retval;
    }

    方法二:
    html地址传递参数进行其他事情.
    <scrīpt>
    /* 用途: 接收地直栏参数 取id=1 根据ID的值 */
    urlinfo=window.location.href; //获取当前页面的url
    len=urlinfo.length;//获取url的长度
    offset=urlinfo.indexOf("?");//设置参数字符串开始的位置
    newsidinfo=urlinfo.substr(offset,len)//取出参数字符串 这里会获得类似“id=1”这样的字符串
    newsids=newsidinfo.split("=");//对获得的参数字符串按照“=”进行分割
    newsid=newsids[1];//得到参数值
    newsname=newsids[0];//得到参数名字
    </scrīpt>

    方法三:
    <SCRIPT LANGUAGE="JavaScript">
    function getvalue(name){
        var str=window.location.search;   //location.search是从当前URL的?号开始的字符串 例如:http://www.51job.com/viewthread.jsp?tid=22720 它的search就是?

    tid=22720

        if (str.indexOf(name)!=-1){          
            var pos_start=str.indexOf(name)+name.length+1;
            var pos_end=str.indexOf("&",pos_start);
            if (pos_end==-1){
                alert( str.substring(pos_start));
            }else{
                alert("对不起这个值不存在!");
            }
        }

    </SCRIPT>

    方法四:
    做中英转换的时候,要准确的获取参数并取出,所以做了一个简单的html中用js获取当取地址栏的一个Object。
    里面有三个方法:
    1、request.QueryString("参数")//获取指定参数,返回字符串;
    2、request.QueryStrings();//获取全部参数,并返回数组;
    3、request.setQuery("参数","参数的值");//如果当前地址栏有此参数,那么将更新此参数,否则返回一个新的地址栏参数字符串。
    例如:
    当前地址栏参数字符串为:?name=a&site=never_online
    alert(request.setQuery("name","blueDestiny"))
    如果地址栏参数中有"name",那么返回?name=blueDestiny&site=never_online
    setQuery方法有自动追加参数的功能。如:
    当前地址栏参数字符串为:?site=never_online
    alert(request.setQuery("name","blueDestiny"))
    则返回?site=never_online&name=blueDestiny
    同理,如果地址栏没有参数,也会自动追加参数
    alert(request.setQuery("name","blueDestiny"))
    返回?name=blueDestiny
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    // author: never-online
    // web: never-online.net
    var request = {
    QueryString : function(val) {
    var uri = window.location.search;
    var re = new RegExp("" +val+ "=([^&?]*)", "ig");
    return ((uri.match(re))?(uri.match(re)[0].substr(val.length+1)):null);
    },
    QueryStrings : function() {
    var uri = window.location.search;
    var re = /w*=([^&?]*)/ig;
    var retval=[];
    while ((arr = re.exec(uri)) != null)
    retval.push(arr[0]);
    return retval;
    },
    setQuery : function(val1, val2) {
    var a = this.QueryStrings();
    var retval = "";
    var seted = false;
    var re = new RegExp("^" +val1+ "=([^&?]*)$", "ig");
    for(var i=0; i<a.length; i++) {
    if (re.test(a[i])) {
    seted = true;
    a[i] = val1 +"="+ val2;
    }
    }
    retval = a.join("&");
    return "?" +retval+ (seted ? "" : (retval ? "&" : "") +val1+ "=" +val2);
    }
    }
    alert(request.setQuery("e","b"))
    //-->
    </SCRIPT>

  • 相关阅读:
    函数式语言(老师作业)
    session/cookie
    Linux根目录下各个目录的功能介绍
    Navicat12安装文件和破解补丁
    正则表达式验证示例
    RequestDispatcher接口示例
    hello2部分源码解析
    Introduction of Servlet Filter
    关于hello1中的web.xml解析
    Annotation解释
  • 原文地址:https://www.cnblogs.com/weiyi1314/p/6482457.html
Copyright © 2020-2023  润新知