2012-08-10 171 views
0

是否可以通过链接将两个变量传递到另一个html页面?html链接变量

例如...我有一个目录页面,当用户点击一个商店链接时,它链接到另一个html页面,地图以特定商店为中心。在商店中心映射的函数需要两个变量,storeID和storeName。有数百个商店,目前我将不得不手动创建每个商店页面,方法是对这两个变量进行硬编码,以便每个页面的加载都稍有不同。有没有办法通过链接传递这两个变量,以避免许多不同的HTML页面?

也许东西沿着<a href "thisPage.html", var1, var2>?

前的线路。代码

thispage.html

var1; 
var2; 

function myFunc(var1, var2) { 
    ~~~ 
} 
+1

通过查询字符串发送它们 – 2012-08-10 18:25:50

+0

您可以使用URL的哈希部分设置并获取要在javascript中使用的变量。 – gcochard 2012-08-10 18:26:17

+0

地图是商店页面上唯一不同的地方吗?我希望看到地址和开放时间。 – Quentin 2012-08-10 18:28:22

回答

0

使用查询字符串。

在URL中,?指示查询的开始。它由一系列由&字符分隔的键=值对组成。

encodeURIComponent函数将转义文本作为键或值插入。

然后,您可以将其分配给链接元素的href属性或将它设置为location.href

+0

干杯!正是我需要的。谢谢。 – Krann90 2012-08-10 18:30:43

1

不是这样,但你可以使用URL参数。

thisPage.html?var1=foo&var2=bar 

然后你可以在第二页上阅读它们。我喜欢使用此功能为:

function gup(name) 
{ 
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
    var regexS = "[\\?&]"+name+"=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec(window.location.href); 
    if(results == null) 
    return ""; 
    else 
    return results[1]; 
} 

http://www.netlobo.com/url_query_string_javascript.html

所以你的第二页上,你可以做gup("var1"),你会得到foo

+0

完美!正是我在找的东西。谢谢。 – Krann90 2012-08-10 18:30:08