首頁 >web前端 >js教程 >javascript實作html頁面之間參數傳遞的四個方法實例分析_javascript技巧

javascript實作html頁面之間參數傳遞的四個方法實例分析_javascript技巧

WBOY
WBOY原創
2016-05-16 15:25:431583瀏覽

本文實例講述了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("[\&#63;\&]" + item + "=([^\&]*)(\&&#63;)","i"));
return svalue &#63; svalue[1] : svalue;
}
}
alert(Request.QueryString("id"));

方法四:

var url=location.search;
var Request = new Object();
if(url.indexOf("&#63;")!=-1)
{
 var str = url.substr(1); //去掉&#63;号
 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程式設計有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn