Javascript .onchange?

Javascript .onchange?

本文关键字:onchange Javascript      更新时间:2023-09-26

我目前正在尝试找到一种方法,在更新之前自动存储商品的先前价格。例如,如果我在我的网站上显示货币兑换是美元兑欧元,而我只得到实时的交易所价格,我如何使用 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 的新随机数和旧(或以前的)随机数,在本例中为 1.11 下为 #previous。我如何使用 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>