用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 " ];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值