Hm, coś tu jest podejrzane.
W jakiej przeglądarce pusty tekst zwraca NaN? Nigdy tego nie widziałem i nie mogę tego odtworzyć.
Wartość pola tekstowego jest w rzeczywistości ciągiem. Puste pole tekstowe zwraca pusty ciąg!
Aha, i sprawdzić, czy coś jest NaN, należy użyć:
if (isNaN(tb.value))
{
...
}
Uwaga: isNaN()
-function zwraca true
do wszystkiego, co nie może być analizowany jako liczba, z wyjątkiem pustych strunach. Oznacza to, że jest to dobra kontrola dla wejścia numerycznego (dużo łatwiejszy niż regexes):
if (tb.value != "" && !isNaN(tb.value))
{
// It's a number
numValue = parseFloat(tb.value);
}
dokładniej proszę: Co to jest pole tekstowe (wejście tekstu, textarea, select listy lub co)? Żadna wartość "textbox" (pusta lub nie) zwraca NaN sama według mojej wiedzy. – KooiInc
Czy pole tekstowe zwraca wartość NaN, czy najpierw analizuje wartość float/integer (co oznacza, że parseFloat/Int) zwraca wartość NaN. –
czy miałeś na myśli: jeśli (NAN == tb.value) // (dwa równe dla porównania) – Jay