javascript实现html页面之间参数传递的四种方法实例分析
本文实例讲述了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:thevalueofarg.d,re
*/
functionGetArgsFromHref(sHref,sArgName)
{
varargs=sHref.split("?");
varretval="";
if(args[0]==sHref)/*参数为空*/
{
returnretval;/*无需做任何处理*/
}
varstr=args[1];
args=str.split("&");
for(vari=0;i<args.length;i++)
{
str=args[i];
vararg=str.split("=");
if(arg.length<=1)continue;
if(arg[0]==sArgName)retval=arg[1];
}
returnretval;
}
方法二:
functiongetvalue(name)
{
varstr=window.location.search;
if(str.indexOf(name)!=-1)
{
varpos_start=str.indexOf(name)+name.length+1;
varpos_end=str.indexOf("&",pos_start);
if(pos_end==-1)
{
returnstr.substring(pos_start);
}
else
{
returnstr.substring(pos_start,pos_end)
}
}
else
{
return"没有这个name值";
}
}
alert(getvalue(name));
方法三:
Request={
QueryString:function(item){
varsvalue=location.search.match(newRegExp("[\?\&]"+item+"=([^\&]*)(\&?)","i"));
returnsvalue?svalue[1]:svalue;
}
}
alert(Request.QueryString("id"));
方法四:
varurl=location.search;
varRequest=newObject();
if(url.indexOf("?")!=-1)
{
varstr=url.substr(1);//去掉?号
strs=str.toLowerCase();
strs=strs.split("&");
for(vari=0;i<strs.length;i++)
{
Request[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
}
}
varmapWidth=Request["w"];
varmapHeight=Request["h"];
希望本文所述对大家JavaScript程序设计有所帮助。