HTML页面地址栏参数传递与获取

如何实现HTML页面地址栏参数传递与获取 

我们知道,在服务器端asp程序可以接受html页面上的form传来的参数,那么,可不可以传递参数给html页面呢,也就是说在html后面加问号?答案是可以。 
  下面是javascript的一种实现方法, 这个函数是通过window.location.href中的分割符获得各个参数。 
  有了这个函数,就可以在页面之间传递参数了。 
以下是引用片段: 
  /* 
  *函数功能:从href获得参数 
  *sHref: http://www.yesky.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页面的参数传递 
我们知道,在服务器端asp程序可以接受html页面上的form传来的参数。 
那么,可不可以传递参数给html页面呢。也就是说在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];//得到参数值 
switch (newsid*1) { 
case 1 : 
document.getElementById("sdcard1").style.display="block" 
     break ; 
case 2 : 
document.getElementById("sdcard2").style.display="block" 
     break ; 
case 3 : 
document.getElementById("sdcard3").style.display="block" 
     break ; 
case 4 : 
document.getElementById("sdcard4").style.display="block" 
     break ; 
case 5 : 
document.getElementById("sdcard5").style.display="block" 
     break ; 
default : 
document.getElementById("sdcard1").style.display="block" 
     break ; 

</scrīpt>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值