Kalkulator krok 2: zamiana na liczby
Formularze: odczyt pól i obliczenia - JavaScript na stronach WWW (HTML/CSS/JS)
Poprawka: tekst zamieniamy na liczbę funkcją `Number` (albo `parseFloat`). Pole liczbowe ma też właściwość `valueAsNumber`, która od razu daje liczbę, a dla pustego pola `NaN`. Wynik to teraz 5. Pusty albo błędny wpis daje `NaN`, więc program to sprawdza (`Number.isNaN`) i prosi o liczby.
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="utf-8">
<title>Kalkulator</title>
<style>
body { font-family: sans-serif; max-width: 36em; line-height: 1.4; }
input, select, button, textarea { font: inherit; padding: 0.2em 0.4em; }
table { border-collapse: collapse; }
th, td { border: 1px solid #94a3b8; padding: 0.2em 0.6em; }
</style>
</head>
<body>
<p>
<input id="a" type="number" value="2">
<input id="b" type="number" value="3">
<button id="add">Dodaj</button>
</p>
<p id="result">Wynik: ?</p>
<script>
document.getElementById('add').addEventListener('click', () => {
const a = Number(document.getElementById('a').value);
const b = document.getElementById('b').valueAsNumber;
const result = document.getElementById('result');
if (Number.isNaN(a) || Number.isNaN(b) || document.getElementById('a').value === '') {
result.textContent = 'Wpisz dwie liczby';
} else {
result.textContent = 'Wynik: ' + (a + b);
}
});
</script>
</body>
</html>Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu JavaScript na stronach WWW·Zaloguj się, aby zapisać postęp na koncie.