Olá eu achei melhor retirar a mascará que eu estava utilizando e fiz assim:function formata(obj){ var inteiro = ''; var decimal = ''; var posVirgula = (obj.value).indexOf(","); var i=0; var pos =0; while((obj.value).indexOf("," ,pos)!= -1){ i++; pos=(obj.value).indexOf("," ,pos); if (pos+1<=(obj.value).length) pos ++; } if(i > 1){ alert("Formato inválido."); obj.value = ""; obj.focus(); document.forms[0].clreNrNotaFim.value = ""; return false; } if (posVirgula != -1){ inteiro= (obj.value).substring(0,posVirgula); if (posVirgula!=(obj.value.length-1)){ decimal = (obj.value).substring(posVirgula+1,(obj.value).length); }else{ decimal=""; } }else{ inteiro=obj.value; decimal=""; } if(decimal.length > 2){ alert("A Parte decimal está inválida, clique no ícone luz e verifique os exemplos."); obj.value = ""; obj.focus(); return false; }else{ if(inteiro.length > 3){ alert("A Parte inteira está inválida, clique no ícone luz e verifique os exemplos."); obj.value = ""; obj.focus(); document.forms[0].clreNrNotaFim.value = ""; return false; } } if(inteiro.length >= 0){ var tamInteiro = inteiro.length; while (tamInteiro < 3){ inteiro='0'+inteiro; tamInteiro++; } var tamDecimal = decimal.length; while (tamDecimal < 2){ decimal = decimal+'0'; tamDecimal++; } obj.value = inteiro + ',' + decimal; return obj.value; }else{ return false; } } OBS: O meu problema agora é mas simples mas nem por isso menos complicado pelo menos para mim! <_< Quando eu digitar 2 ou mais virgulas dentro da minha caixa de text eu mostro um alert e mantenho o meu foco naquela caixa de text, mas a 2º caixa de texto vem preenfida com a mascara. Se alguém poder me dar uma luz eu agradeço! (y)