实现html页面的参数传递

来源:互联网 发布:乐元素 知乎 编辑:程序博客网 时间:2024/05/14 03:09

实现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地址传递参数进行其他事情.

/* 用途: 接收地直栏参数 取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 ;
}


原创粉丝点击