我需要社区帮助我完成以下事项:
我在js文件中定义了变量x=1
。我有2个HTML文件使用该变量( 1.html 和 2.html )。我想在 1.html 中使用onclick
事件将变量x
的值永久更改为2
,这样如果我使用{{1} 2.html 中的变量它的值为x
而不是2
。
这就是我在 java.js 文件中所拥有的:
1
这是在 1.html :
x=1;
这是在 2.html :
<html>
<head>
<script type="text/javascript" src="java.js">
</script>
</head>
<body>
<input type="button" value="Change x" onClick="x=4">
<p id="iz"></p>
</body>
</html>
2.html 中按钮的结果应为<html>
<head>
<script type="text/javascript" src="java.js">
</script>
</head>
<body>
<input type="button" value="Change x" onClick="x=x+1">
<p id="iz"></p>
</body>
</html>
。
答案 0 :(得分:2)
JavaScript不能像那样工作。没有使用cookie或将状态传递给服务器的页面之间没有持久性。
如果您导航至foo.html
并设置var foo = 1
,然后导航至bar.html
,则不会设置foo
。
答案 1 :(得分:0)
简短回答,您不仅可以使用JavaScript
- 网址为stateless
。
但是,可以使用cookie
或local storage
作为后备存储来保存值。最初将其设置为1
,任何后续修改都会影响后备存储并反映正确的值。
答案 2 :(得分:0)
在java脚本中没有你想要的变量持久性,你必须使用cookie,服务器端aproach或html5中提供的本地存储
答案 3 :(得分:0)
这不是JavaScript的正常行为,因为您设置的值将在任一页面的持续时间内保持不变。您可能想要做的是将x的值存储在服务器上,将其存储在cookie中,或将其存储在localStorage中。
答案 4 :(得分:0)
在每个页面中,它都会进入x=1
。仅仅因为你在一个页面上更改变量并不意味着它将在另一个页面上被看到。您需要使用GET
或POST
或Cookie或本地存储将变量传递到其他页面
答案 5 :(得分:0)
您的输入标签未关闭,这可能不对。在找到代码中的错误的其他原因之前修复这些:
<input type="button" value="Change x" onClick="x=4">
或许应该是:
<input type="button" value="Change x" onClick="x=4"/>