Oppure

Loading
21/01/14 10:05
Milmor94
Buongiorno :)

Ecco il mio problema: ho una casella di testo che deve contenere valori numerici con i decimali .00

Ad esempio,
3000 deve diventare 3000.00
3000.1 deve diventare 3000.10
3000.11 deve diventare 3000.11

document.getElementById("id_1").setAttribute("onkeyup", "valid(this)");
document.getElementById("id_1").setAttribute("onblur", "valid(this)");
document.getElementById("id_2").setAttribute("onkeyup", "valid(this)");
document.getElementById("id_2").setAttribute("onblur", "valid(this)");
function valid(f) {
	f.value = f.value.replace(/[^.0-9-\s]/ig,\'\');
	num = f.value;
	f.value = num.toFixed(2);
} 


Per il momento funziona solo f.value.replace (avete qualche idea migliore?) mentre la formattazione del numero non ha alcun effetto. Dove sbaglio? :_doubt:
Inoltre, c'è un modo per prevenire che qualcuno inserisca il punto delle migliaia 1.000?

Graziee :k:
Ultima modifica effettuata da Milmor94 21/01/14 10:32
aaa
21/01/14 15:44
pierotofy
Ci sono errori nella console Javascript quando esegui questo codice?
Il mio blog: piero.dev
21/01/14 19:33
Bonny
var num = f.value;
aaa
25/01/14 9:40
Milmor94
Grazie per la risposta,
purtroppo anche con var number non cambia nulla.

La console restituisce questo errore:

TypeError: Object 0 has no method 'toFixed' 
aaa
25/01/14 16:26
pierotofy
L'errore e' causato dal fatto che stai cercando di invocare toFixed su un oggetto String. Devi convertirlo in float prima di poter chiamare toFixed.

var num = parseFloat(f.value);
Il mio blog: piero.dev