Witam. Stworzyłem prosty program do zliczania punktów życia - dodawanie ich oraz odejmowanie.
Jak zablokować wpisywanie stringów w input textowym ?. Chciałbym aby można było wpisać tylko liczby/cyfry, aby nie dało się wpisać liter ani innych znaków. Po wpisaniu liter (jakiegoś stringu) lub jakiegoś znaku ma pojawić się np:
alert('Wpisz tylko liczbę');
Proszę o pomoc.
Oto kod który stworzyłem do tej pory:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
input
{
width: 50px;
}
button.reset
{
background-color: yellow;
}
button.dodawanie
{
background-color: green;
}
button
{
background-color: red;
}
</style>
</head>
<body>
<input type="text">
<button class="dodawanie">+</button>
<button class="minusowanie">-</button>
<button class="reset">Reset</button>
<h1></h1>
<script>
const input = document.querySelector('input');
const wynik = document.querySelector('h1');
const btn = document.querySelector('.minusowanie');
const reset = document.querySelector('.reset');
const dodaj = document.querySelector('.dodawanie');
let zycie = 20;
wynik.textContent = zycie;
dodaj.addEventListener('click', ()=>
{
zycie += Number(input.value);
wynik.textContent = zycie;
input.value = '';
if (zycie > 20) wynik.style.color = 'green'
if (zycie <= 20) wynik.style.color = 'black'
})
btn.addEventListener('click', ()=>
{
zycie -= Number(input.value);
wynik.textContent = zycie;
input.value = '';
if (zycie <= 20) wynik.style.color = 'black'
if (zycie <= 0)
{
wynik.style.color = 'red'
alert('Przegraleś!');
}
})
reset.addEventListener('click', ()=>
{
zycie = 20;
wynik.textContent = zycie;
wynik.style.color = 'black'
})
</script>
</body>
</html>