Javascript 如何增加输入字段的值?

Javascript 如何增加输入字段的值?,javascript,increment,input-field,Javascript,Increment,Input Field,有些东西困扰了我一段时间,总是让我头痛 我有一个以数字表示的输入字段 <input id="base-life" class="base-stats" type="number" name="base-life" value="20" readonly /> 我有一个数字,我想用它来增加基本寿命输入字段的值。这当然会根据其他内容动态变化,但假设是2 let increaseWith

有些东西困扰了我一段时间,总是让我头痛

我有一个以数字表示的输入字段

<input id="base-life" class="base-stats" type="number" name="base-life" value="20" readonly />
我有一个数字,我想用它来增加基本寿命输入字段的值。这当然会根据其他内容动态变化,但假设是2

let increaseWith = 2;
在onclick函数中,我想用2(基本寿命+2)来增加它被点击的所有内容的基本寿命

function increase() {
    charlife.value += increaseWith;
}

现在,这只给输入字段的值增加了2,使其为202。我知道当其中一个数字实际上是字符串时会发生这种情况。也许是我的生命。我什么都试过了,结果越来越糟。我尝试了parseInt(charlife.value)-没有运气。我试过其他方法,但不起作用。我只对输入字段有这个问题。当元素只是一个或另一个更简单的html元素时,一切都会变得更简单。与JS解析输入字段的方式有关。有人能解释一下吗?

这是一个工作片段,其中包含一些符合您规范的自定义代码


添加
let charlife=document.getElementById('base-life');
设递增=2;
功能增加(){
value=parseInt(charlife.value);
值+=随时间增加而增加;
charlife.value=值;
}


递增
输入的字符串是值,而不是数字。您需要解析该值,然后将其添加到递增中。这是否回答了您的问题?好的,所以parseInt仍然是我的选择,但是我不能像我认为的那样使用+=了。谢谢你。Tiffany的方法是使用+=但使用附加变量。我对哪种方法更好有些纠结。在一行中也有赋值,所以我们不能同时使用
+=
parseInt
。我们需要将表达式赋给一个变量,然后将该变量赋给input@Tiffany did的值
function increase() {
    charlife.value += increaseWith;
}