【发布时间】:2021-01-04 19:15:07
【问题描述】:
困扰了我一段时间并且总是让我头疼的事情。
我有一个数值为数字的输入字段
<input id="base-life" class="base-stats" type="number" name="base-life" value="20" readonly />
我正在获取输入字段的值
let charlife = document.getElementById('base-life');
我有一个数字,我想用它来增加基本寿命输入字段的值。这当然会根据其他东西动态变化,但假设它是 2
let increaseWith = 2;
在一个 onclick 函数中,我想用 2 (base-life + 2) 它被点击的所有东西来增加基本寿命
function increase() {
charlife.value += increaseWith;
}
现在这只会将输入字段的值加 2,使其变为 202。我知道当其中一个数字实际上是字符串时会发生这种情况。也许我的charlife。我尝试了一切,但情况变得更糟。我试过 parseInt(charlife.value) - 没有运气。我尝试了其他方法,但它不起作用。我只有输入字段有这个问题。当元素只是一个或另一个更简单的 html 元素时 - 这一切都更容易。与 JS 如何解析输入字段有关。有人能解释一下吗?
【问题讨论】:
-
输入的值是字符串,而不是数字。
-
您需要先解析该值,然后将其添加到增量中。
-
这能回答你的问题吗? stackoverflow.com/questions/9186346/…
标签: javascript increment input-field