Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

asdruboows

Como colocar mascara de entrada em um controle textbox?

Recommended Posts

Aguém sabe como fazer isso?É simple né?Mas eu ainda não sei como... e o controle não reconhece o onkeypress...Tem algum controle especial pra isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tiago, associe sua TextBox ao código JavaScript durante o PageLoad.mTextBox.Attributes.Add("onKeyPress","Mascara()")

A função máscara pode ser essa aqui!!!Ai você coloca assim no page_loadmTextBox.Attributes.Add("onKeyPress","Mascara('NomeDoCampo', '99.999.999-9)")PS:: esse jeito é o formato q você usa na máscara, não vai aceitar letras, só numeros, e a máscara vai colocar automaticamente....Eu uso essa função de máscara a 4 ou 5 anos... nunca me decepcionou!quando você coloca 99.99 ele vai 2 números, o ponto automático e mais dois números depois!ok!!!a função tah aqui embaixo!

function Mascara(strField, sMask) {var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;objForm = document.forms[0];if(document.all) { // Internet ExplorernTecla = event.keyCode; }else if(document.layers) { // NestcapenTecla = event.which;}if(nTecla == 39) return false;sValue = objForm[strField].value;// Limpa todos os caracteres de formatação que// já estiverem no campo.sValue = sValue.toString().replace( "-", "" );sValue = sValue.toString().replace( "-", "" );sValue = sValue.toString().replace( ".", "" );sValue = sValue.toString().replace( ".", "" );sValue = sValue.toString().replace( "/", "" );sValue = sValue.toString().replace( "/", "" );sValue = sValue.toString().replace( "(", "" );sValue = sValue.toString().replace( "(", "" );sValue = sValue.toString().replace( ")", "" );sValue = sValue.toString().replace( ")", "" );sValue = sValue.toString().replace( " ", "" );sValue = sValue.toString().replace( ":", "" );sValue = sValue.toString().replace( ",", "" );sValue = sValue.toString().replace( "$", "" );//sValue = sValue.toString().replace( "R", "" ); fldLen = sValue.length;mskLen = sMask.length; // = 5i = 0;nCount = 0;sCod = "";mskLen = fldLen;while (i <= mskLen) {bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"));bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "));bolMask = bolMask || ((sMask.charAt(i) == ":") || (sMask.charAt(i) == "$") || (sMask.charAt(i) == "R") || (sMask.charAt(i) == ","));if (bolMask) {sCod += sMask.charAt(i);mskLen++; }else {sCod += sValue.charAt(nCount);nCount++;}i++;}objForm[strField].value = sCod;if (nTecla != 8) { // backspaceif (sMask.charAt(i-1) == "9") { // apenas números...return ((nTecla > 47) && (nTecla < 58)); }else if (sMask.charAt(i-1) == "A") { return ((nTecla >= 65) && (nTecla <= 90)); } // letraselse { // qualquer caracter...return true;} }else {return true;}}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Lipelandimeu não consegui usar o código que você passou... não da erro mais também não coloca a mascara no campoeu coloquei assim:

<script language="javascript">function Mascara(strField, sMask) {var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;objForm = document.forms[0];if(document.all) { // Internet ExplorernTecla = event.keyCode; }else if(document.layers) { // NestcapenTecla = event.which;}if(nTecla == 39) return false;sValue = objForm[strField].value;// Limpa todos os caracteres de formatação que// já estiverem no campo.sValue = sValue.toString().replace( "-", "" );sValue = sValue.toString().replace( "-", "" );sValue = sValue.toString().replace( ".", "" );sValue = sValue.toString().replace( ".", "" );sValue = sValue.toString().replace( "/", "" );sValue = sValue.toString().replace( "/", "" );sValue = sValue.toString().replace( "(", "" );sValue = sValue.toString().replace( "(", "" );sValue = sValue.toString().replace( ")", "" );sValue = sValue.toString().replace( ")", "" );sValue = sValue.toString().replace( " ", "" );sValue = sValue.toString().replace( ":", "" );sValue = sValue.toString().replace( ",", "" );sValue = sValue.toString().replace( "$", "" );//sValue = sValue.toString().replace( "R", "" ); fldLen = sValue.length;mskLen = sMask.length; // = 5i = 0;nCount = 0;sCod = "";mskLen = fldLen;while (i <= mskLen) {bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"));bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "));bolMask = bolMask || ((sMask.charAt(i) == ":") || (sMask.charAt(i) == "$") || (sMask.charAt(i) == "R") || (sMask.charAt(i) == ","));if (bolMask) {sCod += sMask.charAt(i);mskLen++; }else {sCod += sValue.charAt(nCount);nCount++;}i++;}objForm[strField].value = sCod;if (nTecla != 8) { // backspaceif (sMask.charAt(i-1) == "9") { // apenas números...return ((nTecla > 47) && (nTecla < 58)); }else if (sMask.charAt(i-1) == "A") { return ((nTecla >= 65) && (nTecla <= 90)); } // letraselse { // qualquer caracter...return true;} }else {return true;}}</script>

e chamei assim:

<script runat="server"> Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) textbox1.Attributes.Add("onKeyPress", "Mascara('textbox1', '99.999.999-9)") End Sub</script>

poderia me ajudar?obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.