如何在javascript中的不同html页面之间传递变量值

时间:2014-04-22 07:58:54

标签: javascript jquery html

我想将所选列表项的值传递给另一页,这意味着如果我从列表中选择abc,那么此abc值将传递到下一个html表单,它应该打开该配置文件我只能在不同的html页面中使用这个变量。

$('.ui-li-icon li').click(function() {
    var index = $(this).index();
    text = $(this).text();
    alert('Index is: ' + index + ' and text is ' + text);

我想将上述文本值传递给我的 profile.html ,它具有javascript函数 profile()。所以我想在函数调用中传递此文本profile(text);我尝试在函数调用上面声明var文本,但仍然无法正常工作。请告诉我是否还有其他方法。

5 个答案:

答案 0 :(得分:17)

您可以将值作为网址片段传递。

在点击功能中,打开'/profile.html#'+ text

在您的profile.html中获取网址片段。

示例代码:

导航至profile.html

window.location.href = '<path to profile.html>' + '#' + text;

在profile()中,要获取参数,请使用

var text = window.location.hash.substring(1)

答案 1 :(得分:6)

有不同的方法可以做到这一点

将所选项目存储在Cookie中

 // Store it in the cookies
 document.cookie="selected=john"

// Get it in the profile.html
var cookie = document.cookie;

将所选项目存储在本地存储空间

// Store it in the local storage
localStorage.setItem('selected', 'john');

// Get it from the local storage
var selected = localStorage.getItem('selected');

使用查询参数(推荐)

您可以在profile.html?selected=john的查询参数中传递所选项目。我推荐这种方法。您可以按location.search

阅读所选项目

答案 2 :(得分:4)

HTML / HTTP是无状态的,这意味着,您在上一页上所做/所看到的内容与当前页面完全断开。

1) - 简单地使用前端存储,它配备任何浏览器(Cookie,会话存储,本地存储)并将值放在一个页面中,并在其他页面中获得价值。

考虑到:

  

Cookie将数据保存到您确定的时间,

     

会话存储保存数据,直到浏览器默认选项卡关闭

     

本地存储保存数据,直到浏览器完全关闭并在选项卡(页面)之间共享此数据它存储没有过期日期的数据,并且仅通过JavaScript清除,或清除浏览器缓存/本地存储的数据 - 与cookie过期不同。 / p>

2) - 第二种方式将其保存为请求参数 - 通过Ajax渲染函数生成属性时添加属性 一条链接 另一个链接

- &GT;点击此元素后构建“URL /? action = getAll&amp;元素=产品&amp; id = 1212“并且在第二页中将执行操作,您可以解析此URL并使用适当的参数调用适当的Ajax。

可能这些附加信息也很有帮助

How to pass javascript object from one page to other

有关&#34;客户端存储解决方案&#34;

的其他信息

What is the difference between localStorage, sessionStorage, session and cookies?

答案 3 :(得分:0)

您可以使用localStorage events在网页之间传递值,如本演示所示:

http://html5demos.com/storage-events

答案 4 :(得分:0)

<form action="profile.html" method="GET">
   <input type="text" id="something" name="something">
   <input type="submit" value="Send" name="submit" id="submit">
</form>

这会将页面重定向到profile.html,参数为?something=textishere

这将是形成的网址:/profile.html?something=textishere&submit=Send"

然后您可以使用

在此页面获取参数
location.search