Hm, c'è qualcosa di strano qui.
In quale browser viene restituita una casella di testo vuota NaN? Non l'ho mai visto accadere e non riesco a riprodurlo.
Il valore di una casella di testo è, in effetti, una stringa. Una casella di testo vuota restituisce una stringa vuota!
Oh, e per verificare se qualcosa è NaN, si dovrebbe usare:
if (isNaN(tb.value))
{
...
}
Nota: La isNaN()
-funzione torna true
per tutto ciò che non può essere analizzato come un numero, tranne che per le stringhe vuote. Ciò significa che è un buon controllo per l'input numerico (molto più facile che le regex):
if (tb.value != "" && !isNaN(tb.value))
{
// It's a number
numValue = parseFloat(tb.value);
}
fonte
2009-04-27 13:52:25
essere più specifica per favore: che cosa è questo testo (un input di testo, textarea, selezionare Elenco o cosa)? Nessun valore 'textbox' (vuoto o non) restituisce NaN da solo a mia conoscenza. – KooiInc
La casella di testo restituisce NaN o la si analizza prima in float/intero (il che significherebbe che parseFloat/Int) restituisce NaN. –
intendevi: if (NAN == tb.value) // (due equivale per confronto) – Jay