• 实现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>

  • 相关阅读:
    关于SQL存储过程的问题
    Community Server的体系结构
    cs_Moderate_ApprovePost///cs_Moderate_CheckUser///cs_Moderate_DeletePost
    计划失败
    Menu 菜单栏
    基于混合云存储系统的电影推荐引擎小结
    zookeeper运维管理
    环境变量问题
    关于库
    腾讯猜字游戏
  • 原文地址:https://www.cnblogs.com/sunsie/p/5090922.html
Copyright © 2020-2023  润新知