Ir para conteúdo

Publicidade

 Estatísticas do Fórum

  • 0 Usuários ativos

    0 membros, 0 visitantes, 0 membros anônimos

Foto
- - - - -

Como colocar mascara de entrada em um controle textbox?

  • Por favor, faça o login para responder
3 respostas neste tópico

#1 asdruboows

asdruboows
  • Members
  • 237 posts

Postado 08 outubro 2006 - 09:41

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?
  • 0

Publicidade

#2 Juliano.net

Juliano.net

    Co-fundador Remote Park

  • Members
  • 1.207 posts

Postado 08 outubro 2006 - 13:58

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

#3 lipelandim

lipelandim

    Microsoft .NET

  • Members
  • 144 posts

Postado 09 outubro 2006 - 09:17

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_load mTextBox.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 Explorer nTecla = event.keyCode; } else if(document.layers) { // Nestcape nTecla = 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; // = 5 i = 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) { // backspace if (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)); } // letras else { // qualquer caracter... return true; } } else { return true; } }


  • 0

#4 Alex Passos

Alex Passos
  • Members
  • 377 posts

Postado 06 maio 2007 - 14:35

Olá Lipelandim eu não consegui usar o código que você passou... não da erro mais também não coloca a mascara no campo eu 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 Explorer nTecla = event.keyCode; } else if(document.layers) { // Nestcape nTecla = 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; // = 5 i = 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) { // backspace if (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)); } // letras else { // 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
  • 0




Publicidade

/ins>