<meta charset="utf-8" />
</head>
<body>
<form name="formularz">
Imię i nazwisko: <input type="text" name="osoba" id="osoba" onchange="Sprawdzenie(this.value)" onblur="Sprawdzenie(this.value)" /><br><br>
Miejsce i data urodzenia: <input type="text" name="urodzenie" id="urodzenie" onchange="Sprawdzenie2(this.value)"onblur="Sprawdzenie2(this.value)"/><br><br>
Numer indeksu: <input type="text" name="numer" id="numer" onchange="validation(this.value)" /><br><br>
<button name="przycisk" id="przycisk"> Pokaż dane </button><br><br>
<div id="wynik_div"> </div>
</form>
<script>
function Wynik()
{
var im = document.getElementById('osoba').value
var mur = document.getElementById('urodzenie').value
var nr = document.getElementById('numer').value
document.getElementById('wynik_div').innerHTML = "<b>Imię i nazwisko: </b>" + im + " <br><b>Miejsce i data urodzenia:</b> " + mur + " <br><b>Numer indeksu: </b>" + nr;
return false;
}
function Sprawdzenie(Dana)
{
if (Dana == "")
{
alert("Należy wprowadzić Imie i Nazwisko!");
return false;
}
if (isNaN(Dana))
{
return false;
}
else alert("Podane wartosci nie moga byc liczbami!!");
}
function Sprawdzenie2(Dana)
{
if (Dana == "")
{
alert("Należy wprowadzić Imie i Nazwisko!");
return false;
}
}
function validation(Dana)
{
if (Dana == "")
{
alert("Należy wprowadzić Numer Indeksu!");
return false;
} else
if (isNaN(Dana))
{
alert("Należy wpisać Numer Indeksu, jako liczbę całkowitą! (np. 16)");
} else return false;
}
document.getElementById('przycisk').onclick = Wynik;
</script>
</body>
</html>
Mam pytanie odnośnie kodu w javascript. Otóż, instrukcja warunkowa " if (Dana == "") " w funkcji validation nie jest brana pod uwagę? Jeżeli w danym okienku (inpucie) wklepiemy spację lub zostawimy pole puste to okienko z informacją "Należy wprowadzić Numer Indeksu!" nie wyskoczy, a wyskoczy DOPIERO po wpisaniu tam jakiejś cyfry/litery (wtedy owszem wyskoczy informacja z drugiego ifa czyli ("Należy wpisać Numer Indeksu, jako liczbę całkowitą! (np. 16)"); ) /albo czegokolwiek a następnie WYKASOWANIU tej cyfry/litery i zostawieniu pustego pola i kliknięciu buttona.
Innymi słowy, ostatnie pole, gdy zostawimy je puste lub wklepiemy spacje, nie zwróci błędu, a zwróci go tylko po uprzednim wpisaniu tam jakiegoś znaku, wykasowaniu go i naciśnięciu enter bądź zmienieniu focusa dla pola.
Jak to zmienić, by informacja z błędem "Należy wprowadzić Imie i Nazwisko!" wyskakiwała zawsze, a nie tylko w takim przypadku??