Ошибка счетчика при изменении значения поля ввода
Есть поле для ввода цифр и кнопки для увеличения и уменьшения его значения. Они работают со значением по умолчанию, но если пользователь принудительно вводит какое-либо число, значение не обновляется после нажатия кнопок. Подскажите, в чем может быть проблема, на что обратить внимание?
<div class="element">
<button class="decrement" id="decrement" onclick="number_counter(this)">-</button>
<input type="number" name="" id="parameter" value="10">
<button class="increment" id="increment" onclick="number_counter(this)">+</button>
</div>
<script>
const coefficient_input = document.getElementById('parameter');
coefficient_input.addEventListener("change", (event) => {
current_value = event.target.value;
coefficient_input.setAttribute('value', current_value);
console.log(current_value);
});
function number_counter(button) {
let id = button.getAttribute('id');
let step = 0.01;
coefficient_input.addEventListener("change", (event) => {
current_value = event.target.value;
coefficient_input.setAttribute('value', current_value);
console.log(current_value);
});
switch(id) {
case 'increment':
let increment = (parseFloat(coefficient_input.getAttribute('value')) + step).toFixed(2) ;
coefficient_input.setAttribute('value', increment);
break;
case 'decrement':
let decrement = (parseFloat(coefficient_input.getAttribute('value')) - step).toFixed(2);
coefficient_input.setAttribute('value', decrement);
break;
}
}
</script>