用javascript实现html页面之间的参数传递的四种方法

我们知道,在服务器端asp,jsp等程序可以接受html页面上的form传来的参数。那么,可不可以传递参数给html页面呢。可以。
原理:通过window.location.href中的分割符获得各个参数
方法一:


/*
 *函数功能:从href获得参数
 *sHref:   http://www.cscenter.com.cn/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;
}
方法二:
function  getvalue(name)
{
var  str = window.location.search;
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 )
{
return  str.substring(pos_start);
}
else
{
return  str.substring(pos_start,pos_end)
}
}
else
{
return   " 没有这个name值 " ;
}
}
alert(getvalue(name));
方法三:
Request  =  {
QueryString : 
function (item){
var  svalue  =  location.search.match( new  RegExp( " [\?\&] "   +  item  +   " =([^\&]*)(\&?) " , " i " ));
return  svalue  ?  svalue[ 1 ] : svalue;
}
}
alert(Request.QueryString(
" id " ));
方法四:
        var url=location.search;
        
var Request = new Object();
        
if(url.indexOf("?")!=-1)
        {
            
var str = url.substr(1);  //去掉?号
            strs = str.toLowerCase();
            strs 
= strs.split("&");
            
for(var i=0;i<strs.length;i++)
            {
                Request[strs[i].split(
"=")[0]]=unescape(strs[i].split("=")[1]);
            }
        }


        
var mapWidth = Request["w"];
        
var mapHeight = Request["h"];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值