用javascript實現html頁面之間的參數傳遞的四種方法

咱們知道,在服務器端asp,jsp等程序能夠接受html頁面上的form傳來的參數。那麼,可不能夠傳遞參數給html頁面呢。能夠。
原理:經過window.location.href中的分割符得到各個參數
方法一:
html


/*
 *函數功能:從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 <= 1continue
;
        
if(arg[0== sArgName) retval = arg[1
]; 
    }
    
return
 retval;
}
web

方法二:
服務器

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));
jsp

方法三:
函數

Request = {
QueryString : 
function
(item){
var svalue = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)","i"
));
return svalue ? svalue[1
] : svalue;
}
}
alert(Request.QueryString(
"id"
));
url

方法四:
spa

        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"];
orm

相關文章
相關標籤/搜索