本文執行個體講述了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程式設計有所協助。