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

來源:互聯網
上載者:User

我們知道,在伺服器端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"];

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.