1. Problem
Hello everybody
Every time I press a button it must add 1 to the value found in the input box
The problem is that every time I press the button instead of adding +1 to the value, it concatenates the value like it is a string
Expected result after clicking on the button 5 times:
5
What is actually happening:
11111
2. Code
// the html <button id="add-one">+</button> <input type="text" value="" id="output-box"/>
// the javascript document .getElementById("add-one") .addEventListener("click", function () { document.getElementById("output-box").value += parseInt(1); });
please help 🙁
Advertisement
Answer
An input.value
will always return a string. So in order to subtract the value you need to convert it into a number first:
const setup = () => { document .getElementById("add-one") .addEventListener("click", () => { const outputBox = document.getElementById("output-box"); outputBox.value = +outputBox.value + 1; }); }; window.addEventListener('load', setup);
<button id="add-one">+</button> <input type="number" id="output-box">