Salve a tutti,
utilizzo la funzione isNaN per verificare se la stringa passata da una form è un numero, il quale può contenere valori decimali.
Come agisce la funzione sul separatore decimale?
Perchè se metto "," mi dice che non è un numero, mentre se metto "." non da problemi?
Se non sbaglio il separatore "," è per versioni non anglosassoni, mentre il "." l'opposto.
Quindi dipende dal sistema operativo questo controllo?
Come si potrebbe effettuare un controllo generale. Ovvero effettuare un controllo numerico (comunque ho bisogno di verificare che non vengano inserite lettere o altri caratteri diversi dai numeri) a prescindere se l'utente digita il separatore "," oppure "."
Vi posto la semplicissima funzione che uso per fare il controllo numerico:
function controllonumerico(camponumerico)
{
if (camponumerico.numeric || (camponumerico.min != 0) || (camponumerico.max != null))
{
var v= camponumerico.value;
if (isNaN(v) || ((camponumerico.min != null) && (v < camponumerico.min)) || ((camponumerico.max != null) && (v > camponumerico.max)))
{
alert("Il valore del campo deve essere un numero");
camponumerico.value = "";
camponumerico.focus();
return false;
}
return true;
}
return true;
}
Come potrei modificarla?
Grazie mille per l'attenzione