我们知道,在服务器端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