Hello I’m new to javascript and code in general, and I’m stuck. I would like that when I click on a button the counter increases by x numbers. For example a button +100 or -100 and with each click it increments the counter.
I tried that but the button only works once.
<script> price = 100 money = document.getElementById('money').value function buyButtonClick(){ document.getElementById('money').value = money-price; } </script>
<input type="text" id="money" value="200"></input> <button onclick ="buyButtonClick() id="buy-button">buy</button>
Advertisement
Answer
You need to get a current value each time from #money
so move that into your function. You also need to ensure it’s a number (since all values taken from elements are strings), so add the + in front. Finally, you probably don’t want it to go below zero, so you can use Math.max()
to make sure it doesn’t go into the red.
let price = 100 function buyButtonClick() { money = +document.getElementById('money').value document.getElementById('money').value = Math.max(0, money - price); }
<input type="text" id="money" value="200"></input> <button onclick="buyButtonClick()" id="buy-button">buy</button>