静态页面html中跳转传值的JS处理技巧

在html中通过"?"传值:

<a href="index2.html?name=caoy">静态传值</a>

在跳转到的页面index2.html中接收:

var name=UrlParm.parm("name");

代码如下:

index.html:

<script type="text/javascript" src="getUrlParam.js"></script>

<a href="index2.html?name=caoy">静态传值</a>

index2.html:

<script type="text/javascript">

  var name=UrlParm.parm("name");

  alert(name);

</script>

getUrlParam.js:

UrlParm = function() { // url参数

 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 {

  // 获得参数,类似request.getParameter()

  parm : function(o) { // o: 参数名或者参数次序

   try {

    return (typeof(o) == 'number' ? data[o][0] : data[index[o]][0]);

   } catch (e) {

   }

  },

  //获得参数组, 类似request.getParameterValues()

  parmValues : function(o) { // o: 参数名或者参数次序

   try {

    return (typeof(o) == 'number' ? data[o] : data[index[o]]);

   } catch (e) {}

  },

  //是否含有parmName参数

  hasParm : function(parmName) {

   return typeof(parmName) == 'string' ? typeof(index[parmName]) != 'undefined' : false;

  },

  // 获得参数Map ,类似request.getParameterMap()

  parmMap : function() {

   var map = {};

   try {

    for (var p in index) { map[p] = data[index[p]]; }

   } catch (e) {}

   return map;

  }

 }

}();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值