Buenas,
hace un tiempo hice este, mira si te sirve
el script es este
Código:
<script type="text/javascript">
/*****************************************************************************
Código para colocar los indicadores de miles y decimales mientras se escribe
Script creado por Tunait!
Si quieres usar este script en tu sitio eres libre de hacerlo con la condición de que permanezcan intactas estas líneas, osea, los créditos.
http://javascript.tunait.com
[email protected] 27/Julio/03
******************************************************************************/
function puntitos(donde,caracter,campo)
{
var decimales = true
dec = campo
pat = /[\*,\+,\(,\),\?,\\,\$,\[,\],\^]/
valor = donde.value
largo = valor.length
crtr = true
if(isNaN(caracter) || pat.test(caracter) == true)
{
if (pat.test(caracter)==true)
{caracter = "\\" + caracter}
carcter = new RegExp(caracter,"g")
valor = valor.replace(carcter,"")
donde.value = valor
crtr = false
}
else
{
var nums = new Array()
cont = 0
for(m=0;m<largo;m++)
{
if(valor.charAt(m) == "." || valor.charAt(m) == " " || valor.charAt(m) == ",")
{continue;}
else{
nums[cont] = valor.charAt(m)
cont++
}
}
}
if(decimales == true) {
ctdd = eval(1 + dec);
nmrs = 1
}
else {
ctdd = 1; nmrs = 3
}
var cad1="",cad2="",cad3="",tres=0
if(largo > nmrs && crtr == true)
{
for (k=nums.length-ctdd;k>=0;k--){
cad1 = nums[k]
cad2 = cad1 + cad2
tres++
if((tres%3) == 0){
if(k!=0){
cad2 = "." + cad2
}
}
}
for (dd = dec; dd > 0; dd--)
{cad3 += nums[nums.length-dd] }
if(decimales == true)
{cad2 += "," + cad3}
donde.value = cad2
}
donde.focus()
}
</script>
Y al campo que quieras aplicárselo le has de poner un
onkeyup="puntitos(this,this.value.charAt(this.valu e.length-1),
2)"
El 2 que te puse en rojo es la cantidad de decimales que quieres que saque.
puedes probarlo aquí
http://javascript.tunait.com/javascr....asp?s=puntos2
Un saludo