When using HTML input
elements I tried implementing the step
attribute. This allowed me to add 100 to the current value by clicking the up/down arrows in the input field.
However, step
determines legal values, so it won’t work for simple increments. For example, if I type in 123, it will increase to 200, not 223.
// populate field
document.querySelector("input").value = "123";
<input type="number" step="100" value="0"/>
Is there an easy workaround for an increment/decrement function for the input
element?
2
Answers
step
pushes away from the attribute:UPDATE:
Also, as @Barmar and @SebastianSimon pointed out, you can use
defaultValue
:Inside the callback functions, we use the built-in methods stepUp() and stepDown() to increment and decrement the input value by 100, respectively. These methods ensure the input value is modified correctly, regardless of the step attribute.