通过用户输入更改变量的值,并在不同的页面上重新使用它

时间:2015-02-10 18:15:54

标签: javascript jquery variables

首先,我想说我搜索并找到了大量的答案,甚至尝试了一对(超过......),但无济于事!错误可能是我的,但现在是时候转向SO并询问。

问题描述:我有一个变量,我想通过用户输入更改值(点击btn)。一旦用户选择了btn,它就会导航到另一个页面,该页面将使用变量的结果来执行某些操作。我的问题是,如果我在第一页上发出警报,我会通过btn传递值......但在第二页上我只得到“未定义”

我认为它与变量范围和(我认为无论如何都是这样)的事实有关,即使是window.var也会在不同的窗口中被删除/清除。

无论如何,代码是这样的(在第一页/文件上):

var somAlvo;

$('#omissL').click(function(){
    somAlvo = 'l';
    window.location.href='index_ProofOfConcept_nivel1.html';
});

在“接收端”我有以下代码

<head>
 ...
<script type="text/javascript" src="testForm_javascript.js"></script>

使用变量“导入”js文件:

var processo = somAlvo;
alert(processo);

我试过声明窗口,不在函数内部使用var等等...... 这是我当地大学项目的概念证明,我在那里担任研究助理(因此,这不是作业;)

感谢您提供任何帮助/提示......

1 个答案:

答案 0 :(得分:1)

你是正确的,当你导航到另一个页面时,整个JavaScript运行时被重置并且所有变量都会丢失。

要在页面加载中保留值,您有两个选择:

  • 导航到新页面时将其作为查询字符串的一部分包含在内。
  • 设置Cookie。

您可能还想查看通过AJAX调用加载新内容并替换显示的内容。这样您就不会重新加载整个页面,这不会导致JavaScript运行时重置。