靜態(tài)頁面html中跳轉(zhuǎn)傳值的JS處理技巧

字號:


    本文實(shí)例講述了靜態(tài)頁面html中跳轉(zhuǎn)傳值的JS處理技巧。分享給大家供大家參考,具體如下:
    在html中通過"?"傳值:
    <a href="index2.html?name=caoy">靜態(tài)傳值</a>
    在跳轉(zhuǎn)到的頁面index2.html中接收:
    var name=UrlParm.parm("name");
    代碼如下:
    index.html:
    <script type="text/javascript" src="getUrlParam.js"></script>
    <a href="index2.html?name=caoy">靜態(tài)傳值</a>
    index2.html:
    <script type="text/javascript">
      var name=UrlParm.parm("name");
      alert(name);
    </script>
    getUrlParam.js:
    UrlParm = function() { // url參數(shù)
     var data, index;
     (function init() {
      data = [];
      index = {};
      var u = window.location.search.substr(1);
      if (u != '') {
       var parms = decodeURIComponent(u).split('&');
       for (var i = 0, len = parms.length; i < len; i++) {
        if (parms[i] != '') {
         var p = parms[i].split("=");
         if (p.length == 1 || (p.length == 2 && p[1] == '')) {// p | p=
          data.push(['']);
          index[p[0]] = data.length - 1;
         } else if (typeof(p[0]) == 'undefined' || p[0] == '') { // =c | =
          data[0] = [p[1]];
         } else if (typeof(index[p[0]]) == 'undefined') { // c=aaa
          data.push([p[1]]);
          index[p[0]] = data.length - 1;
         } else {// c=aaa
          data[index[p[0]]].push(p[1]);
         }
        }
       }
      }
     })();
     return {
      // 獲得參數(shù),類似request.getParameter()
      parm : function(o) { // o: 參數(shù)名或者參數(shù)次序
       try {
        return (typeof(o) == 'number' ? data[o][0] : data[index[o]][0]);
       } catch (e) {
       }
      },
      //獲得參數(shù)組, 類似request.getParameterValues()
      parmValues : function(o) { // o: 參數(shù)名或者參數(shù)次序
       try {
        return (typeof(o) == 'number' ? data[o] : data[index[o]]);
       } catch (e) {}
      },
      //是否含有parmName參數(shù)
      hasParm : function(parmName) {
       return typeof(parmName) == 'string' ? typeof(index[parmName]) != 'undefined' : false;
      },
      // 獲得參數(shù)Map ,類似request.getParameterMap()
      parmMap : function() {
       var map = {};
       try {
        for (var p in index) { map[p] = data[index[p]]; }
       } catch (e) {}
       return map;
      }
     }
    }();
    這樣就能通過html跳轉(zhuǎn)傳值了
    希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。