本文实例讲述了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"];
希望本文所述对大家JavaScript程序设计有所帮助。
您可能感兴趣的文章:
- js setTimeout 参数传递使用介绍
- Javascript获取HTML静态页面参数传递值示例
- JavaScript Base64编码和解码,实现URL参数传递。
- JS的参数传递示例介绍
- 四种参数传递的形式——URL,超链接,js,form表单
- Js从头学起(基本数据类型和引用类型的参数传递详细分析)
- JavaScript函数的调用以及参数传递
- javascript自定义函数参数传递为字符串格式
- JS 参数传递的实际应用代码分析
- JavaScript函数参数的传递方式详解