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

Changing the value of a variable through user input and re-using it on a different page

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

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

我认为这与可变范围有关,而且事实上(我认为无论如何它都是这样工作的)即使 window.var 在不同的 window 中也会是 deleted/purged。

反正代码是这样的(1号page/file):

var somAlvo;

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

在 "receiving end" 上我有以下代码

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

到"import"带有变量的js文件和:

var processo = somAlvo;
alert(processo);

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

感谢任何 help/hints...

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

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

  • 导航到新页面时将其作为查询字符串的一部分。
  • 设置一个 cookie。

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