Jump to content


Drix76

Member Since 18/06/2008
Offline Last Active 15/08/2008, 13:19
-----

Posts I've Made

In Topic: Máscara De Campos

06/08/2008, 00:15

Não entendi muito bem... você não pode colocar um campo extra para o sinal ?

###.###,##
+10.000,00
-10.000,00

Entendeu ?!


CONSEGUI! BASTA MUDAR O FINAL DA FUNÇÃO PARA A QUE ESTÁ ABAIXO!

function maskIt(w,e,m,r,a){        // Cancela se o evento for Backspace    if (!e) var e = window.event    if (e.keyCode) code = e.keyCode;    else if (e.which) code = e.which;	    // Variáveis da função    var txt  = (!r) ? w.value.replace(/[^\d]+/gi,'') : w.value.replace(/[^\d]+/gi,'').reverse();    var mask = (!r) ? m : m.reverse();    var pre  = (a ) ? a.pre : "";    var pos  = (a ) ? a.pos : "";    var ret  = "";    if(code == 9 || code == 8 || txt.length == mask.replace(/[^#]+/g,'').length) return false;    // Loop na máscara para aplicar os caracteres    for(var x=0,y=0, z=mask.length;x<z && y<txt.length;){        if(mask.charAt(x)!='#'){            ret += mask.charAt(x); x++;        } else{            ret += txt.charAt(y); y++; x++;        }    }        // Retorno da função    ret = (!r) ? ret : ret.reverse()    <strong class='bbc'>	   if (w.value.match("-")){    	w.value = "-"+ret+pos;    }else{    	w.value = pre+ret+pos;    }</strong> }// Novo método para o objeto 'String'String.prototype.reverse = function(){    return this.split('').reverse().join('');};

In Topic: Máscara De Campos

18/06/2008, 00:28

Boa noite,

Parabéns pela mascára. Ela é excelente, muito prática!

Entretanto gostaria de saber o seguinte:

Estou utilizando-a num input da seguinte forma: onkeyup="maskIt(this,event,'###.###.###,##',true,{pre:'',pos:'%'})"

Só que existe a possibilidade do valor inputado ser negativo, com o sinal - (menos) antes do valor, e a máscara apaga o sinal ao digitar, não permitindo input de valores que não sejam números.

Há alguma forma de permitir essa variação?

Muito obrigada

Adriana

IPB Skin By Virteq