ruivo
Com o JQuery funcionou Bacana, mas meu gerente não que usar o JQuery no projeto( para não colocar outras bibliotecas), vou tentar arrumar algo com o JavaScript.
A Função abaixo funciona no Java Script, mas está com Erro que não consigo desifrar.
Quando digito no campo pela primeira vez blz, ele preenche normalmente, mas o que tá acontecendo quando do um Enter ou TAB e retorno no campo para redigitar o valor por algum erro de digitação ele duplica a unidade que digitei, se eu der outro tab ele vai aumento um valor na variavel e bem estranho.
Exemplo do Erro: Digitei 1 o certo seria 0,01
quando usa a tecla TAB fica assim 0,11
se eu der outro TAB e digitar somente 1 fica 1,11
é como estivesse aumentando as variaveis como uma soma de objetos sei lá.
function formatCurrency(o, n, dig, dec) {
o.c = !isNaN(n) ? Math.abs(n) : 2;
o.dec = typeof dec != "string" ? "," : dec, o.dig = typeof dig != "string" ? "." : dig;
addEvent(o, "keypress", function(e) {
if (e.key > 47 && e.key < 58) {
var o, s, l = (s = ((o = this).value.replace(/^0+/g, "") + String.fromCharCode(e.key)).replace(/\D/g, "")).length, n;
if(o.maxLength + 1 && l >= o.maxLength) return false;
l <= (n = o.c) && (s = new Array(n - l + 2).join("0") + s);
for(var i = (l = (s = s.split("")).length) - n; (i -= 3) > 0; s[i - 1] += o.dig);
n && n < l && (s[l - ++n] += o.dec);
o.value = s.join("");
}
e.key > 30 && e.preventDefault();
});
} ;
Caso alguém saiba o que acontece agradeço