Kolejny problem z ifkami, wiem że się tu nie zawiodę :)
Jeżeli liczba "a" jest większa lub równa liczbie "b" - działa.
Jeżeli wartości pól nie są liczbami, lub gdy równają się NaN ma nie puszczać dalej, a puszcza.
Próbowałem już wszystkiego i nie mam pomysłów.
Popełniam pewnie podstawowy błąd, którego nie mogę wychwycić.
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="utf-8" />
<style>
body
{
font-family: Verdana;
font-size: 16px;
letter-spacing: 1px;
text-align: center;
}
p
{
margin-top: 15vh;
}
#form
{
margin-left: auto;
margin-right: auto;
width: 75%;
}
[type~="number"]
{
outline: none;
border: none;
background: rgb(227, 233, 228);
padding: 4px;
margin-bottom: 20px;
}
input[type=number]::-webkit-inner-spin-button
{
opacity: 0.5;
}
[type~="submit"]
{
outline: none;
border: none;
background: rgb(227, 233, 228);
padding: 4px;
}
[type~="number"]:hover
{
outline: 15px;
-moz-outline-radius: 15px;
border: 15px;
border-radius: 15px;
}
[type~="submit"]:hover
{
outline: 15px;
-moz-outline-radius: 15px;
border: 15px;
border-radius: 15px;
}
div #wynik
{
text-align: justify;
}
</style>
</head>
<body>
<p> Funkcja wypisuje wszystkie liczby całkowite z przedziału "a" <-> "b",<br>
liczba "a" musi być mniejsza od liczby "b".</p>
<div id="form">
<input type="number" id="min" placeholder="Liczba a"/>
<input type="number" id="max" placeholder="Liczba b"/>
<input type="submit" value="Wypisz" onclick="sprawdz()"/>
<div id="wynik"></div>
</div>
<script type="text/javascript">
function sprawdz()
{
let a = document.getElementById("min").valueAsNumber;
let b = document.getElementById("max").valueAsNumber;
if (a >= b){document.getElementById("wynik").innerHTML = "Liczba 'a' musi być mniejsza od liczby 'b'";}
else if (a === NaN || b === NaN) {document.getElementById("wynik").innerHTML = "Uzupełnij pola.";}
else {
let min = a;
d = b - a;
let c = new Array;
let add1 = a;
for (let i=0; i<d-1; i++)
{
++add1;
c.push(add1)
}
let roznica = c.join(" ");
document.getElementById("wynik").innerHTML = min+" "+roznica+" "+b;
}
}
</script>
</body>
</html>