首先,我想说我搜索并找到了很多答案,甚至尝试了几个(超过......)但没有成功!这个错误可能是我的,但现在是时候向 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 等等...... 这是我本地大学的一个项目的概念验证,我在那里担任研究助理(所以,这不是家庭作业;))
感谢您的帮助/提示...
最佳答案
您说得对,当您导航到另一个页面时,整个 JavaScript 运行时都会重置,所有变量都会丢失。
要在页面加载时保留值,您有两种选择:
- 在导航到新页面时将其作为查询字符串的一部分包含在内。
- 设置 cookie。
您可能还想考虑通过 AJAX 调用加载新内容并替换显示的内容。这样您就不会重新加载整个页面,从而不会导致 JavaScript 运行时重置。
关于javascript - 通过用户输入更改变量的值并在不同页面上重新使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28438851/