Javascript.onchange?

Javascript .onchange?

我目前正在尝试寻找一种方法来在更新之前自动存储商品的先前价格。例如,如果在我的网站上我显示货币兑换是美元到欧元,我只得到实时汇率,我如何使用 javascript 在一行中显示以前的值并显示更新后的值在另一行。这是一个示例代码,假设随机数是货币之间的兑换价格。

标记:

<p id="price"></p>
<p id="previous"></p>

JavaScript:

<script>
var price = Math.round((Math.random() + 1)*100)/100;
document.getElementById("price").innerHTML = price;
</script>

在这种情况下,会出现一个随机数,例如1.11。之后,我刷新页面,脚本再次运行,随机数变为 1.43。我想显示#price 下的新随机数 1.43 和旧的(或以前的)随机数,在这种情况下是 #previous 下的 1.11。我如何使用 JavaScript 来做到这一点?

到目前为止,感谢@Terry,我得到了这样的结果:

<p id="price"></p>
<p id="previous"></p>

<script>
var price = Math.round((Math.random() + 1)*100)/100;
document.getElementById("price").innerHTML = price;
localStorage.previous = price;
document.getElementById("previous").innerHTML = localStorage.previous;
</script>

有没有办法在页面刷新后使用 localStorage 保存之前的价格(或旧的随机数)?

刷新整个页面将 运行 整个脚本再次出现,因此有 2 种可能的解决方案

  1. 使用 ajax 请求加载新价格,有很多库可以帮助您,例如 JQuery
  2. 如果您必须刷新页面并且您有服务器端代码,则将旧值保存在隐藏字段中并更新您的服务器端和客户端逻辑以考虑在隐藏字段内具有值。

这是脚本:

<script>
document.getElementById("previous").innerHTML = localStorage.getItem("previous");
var price = Math.round((Math.random() + 1)*100)/100;
document.getElementById("price").innerHTML = price;
localStorage.setItem("previous", price);
</script>