Tipo intero in JAVASCRIPT
Io ho un form del tipo
Codice HTML:
<script language="javascript">
function controlla(){
x=document.nome;
if (x.dato1.value>0){
alert ("Inserimento non valido");
return false;
}
return true
}
</script>
<form name="nome" onsubmit="return controlla();".....>
<input type="text" name="dato1">
...
...
</form>
Così controllo che il valore inserito sia maggiore di "0". Se volessi controllare
che il valore inserito sia un numero e non un carattere, come si fa il controllo in JAVASCRIPT ??? Premetto che conosco molto poco JAVASCRIPT e magari questa è anche una domanda poco utile, però a me serve saperlo per un controllo che devo fare in un form.
A proposito di parseInt...
... c'è un piccolo problema con alcune versioni di JS, te lo illustro qui di seguito:
Codice:
var a = parseInt ("83") // a = 83
var b = parseInt ("xy") // b = "NaN"
var c = parseInt ("8u") // c = 8 ==> SBAGLIATO!
quello che ti consiglio di fare è implementare da te una funzione parseInt() che realizzi quanto detto, questa è la prima che mi viene in mente (che, tra l'altro, utilizza in modo "sicuro" le funzioni standard):
Codice:
function myParseInt (numberString)
{
// elimina gli spazi iniziali
while (numberString.indexOf (" ") == 0)
numberString = numberString.substring (1)
// elimina gli spazi finali
while (numberString.lastIndexOf (" ") == numberString.length () - 1)
numberString = numberString.substring (0, numberString.length () - 1)
// inizia la conversione
var n = 0, i = 0, sign = 1
while (i < numberString.length ())
{
var ch = numberString.charAt (i)
if (ch == "-" && i == 0)
// segno negativo: cambia il segno al numero
sign = -1
else if (isNaN (ch))
// carattere non valido: non è un numero, punto e basta!
return NaN
else
// aggiunge la nuova cifra al numero
n = n * 10 + parseInt (ch)
}
return sign * n
}
il risultato di questa funzione è il numero convertito, se questo è un intero, oppure "NaN" se questo non lo era.
Stammi bene...