您的位置:首页 > Web前端 > JavaScript

javascript实现html页面之间的参数传递

2015-08-05 21:49 1011 查看
原理:通过window.location.href中的分割符获得各个参数

方法一:

/*

 *函数功能:从href获得参数

 *sHref:   http://www.cnblogs.com/jenry/archive/2007/05/06/736947.html?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"];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript