基本上,当您输入的值超出指定范围时,它将更新为允许的最小值/最大值,但是var的值不会更新为最大值/最小值。 (您可以通过在两个表格中输入1并单击报价来进行检查)
https://jsfiddle.net/epf4uyr6/

function cadCheck(input) {
  if (input.value < 2) input.value = 2;
  if (input.value >= 100) input.value = 99.99;
}


document.getElementById('cad').onkeyup = function() {
var cad = (this.value);
document.getElementById("cad-quote").innerHTML = "Market: $" +cad;
}

最佳答案

您的值未正确更新,因为先执行keyup函数,然后再执行onchange(cadCheck)函数。

您当前的逻辑在onchange函数内部,这就是为什么值无法正确更新的原因。

在onkeyup函数中移动此行,并将其从onchange中删除。

document.getElementById('cad').onkeyup = function() {
                   if (this.value >= 100) this.value = 99.99;
                    var cad = (this.value);
                    document.getElementById("cad-quote").innerHTML = "Market: $" +cad;
                 }

09-25 21:08