Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Encontrei um código para formatar o valor da forma que eu quero, o problema que ele aciona o script para todos os inputs (ver abaixo)
$(function(){
$('input').bind('keypress',mask.money)
});
Porém queria aplicar apenas a um dos inputs do meu form.
Abaixo segue o script completo
var mask = {
money: function() {
var el = this
,exec = function(v) {
v = v.replace(/\D/g,"");
v = new String(Number(v));
var len = v.length;
if (1== len)
v = v.replace(/(\d)/,"0.0$1");
else if (2 == len)
v = v.replace(/(\d)/,"0.$1");
else if (len > 2) {
v = v.replace(/(\d{2})$/,'.$1');
}
return v;
};
setTimeout(function(){
el.value = exec(el.value);
},1);
}
}
$(function(){
$('input').bind('keypress',mask.money)
});
o input seria o abaixo:
<input type="text" id="valorform" name="valorform">Essa máscara não funciona pois fixa no início. A que coloquei fixa no fim.
Agradeço ao TUAN.
Segue o link que ele me passou com uma solução com jquey.
Máscaras em campos de formulário com os plugins masked input e mask money
@marcelobbt Bom se conseguiu de boa ai mano
eu fiz assim e deu certo aqui
<script type="text/javascript">
var mask = {
money: function() {
var el = this
,exec = function(v) {
v = v.replace(/\D/g,"");
v = new String(Number(v));
var len = v.length;
if (1== len)
v = v.replace(/(\d)/,"0.0$1");
else if (2 == len)
v = v.replace(/(\d)/,"0.$1");
else if (len > 2) {
v = v.replace(/(\d{2})$/,'.$1');
}
return v;
};
setTimeout(function(){
el.value = exec(el.value);
},1);
}
}
$(function(){
$('input').bind('keypress',mask.money)
});
</script>
<input type="text" class="form-control" id="valorform" name="valorform" onkeypress="mask.money(this)">
@marcelobbt Ola veja se isso pode lhe ajudar em alguma coisa
Máscara para input