Ewerton Postado Janeiro 21, 2007 Denunciar Share Postado Janeiro 21, 2007 Gostaria de fazer uma máscara para o campo telefone, por exemplo ( ) ____-____Como eu faço?Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cavotta Postado Janeiro 22, 2007 Denunciar Share Postado Janeiro 22, 2007 Olá, talvez eu possa ajudar.Mas eu não sei direiro o que quer dizer máscara. Poderia me explicar? :( Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ewerton Postado Janeiro 22, 2007 Autor Denunciar Share Postado Janeiro 22, 2007 encontrei algo sobre mascara de campo de telefone nesse tópico aqui mas não deu certo. Alterei o que está no quote, aquele code eu coloquei entre o head, e depois entre o body e não funcionou. Não publiquei testei pelo pc mesmo.Alguém pode ajudar? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cavotta Postado Janeiro 22, 2007 Denunciar Share Postado Janeiro 22, 2007 Hum, dei uma pesquisada e aprendi um pouco sobre máscara.Este javascript que você linkou só parece funcionar (e bem :)) no IE. Testei aqui no FF e nada. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cavotta Postado Janeiro 22, 2007 Denunciar Share Postado Janeiro 22, 2007 Olá, pessoal.Acho que agora está funcionando no Firefox.Troque esse trecho de código:if(document.all) { // Internet Explorer nTecla = evtKeyPress.keyCode; } else if(document.layers) { // Nestcape nTecla = evtKeyPress.which; } Por esse:if(window.Event) { // keep the capital "E" // Nestcape and Firefox nTecla = evtKeyPress.which; } else { // Internet Explorer nTecla = evtKeyPress.keyCode; }Seria bom se a autora do post o modificasse, pois esse código é bem generalizado e serve pra muita gente. descobri mais um bug no FF: não dá para apagar os números digitados Quem solucionar posta aí. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ewerton Postado Janeiro 22, 2007 Autor Denunciar Share Postado Janeiro 22, 2007 putz...o código tá todo bixado então!mas valeu a ajuda, quem conseguir algo mais me ajuda Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Janeiro 22, 2007 Denunciar Share Postado Janeiro 22, 2007 opaaaaa o codigo num tá bixado não hauhauhau. Eu tambem não sou a autora, eu apenas disponibilizei o codigo que achei pela net.Bom, ele funciona perfeitamente no IE, não sei se no Firefox dá problema. Ewerton voce está testando em qual navegador? Se voce fez modificações, poste o codigo então porque pode ser conflito Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 GuHSNeT Postado Janeiro 22, 2007 Denunciar Share Postado Janeiro 22, 2007 se alguém conseguir arruma o bug no FF postem aih!!!pls! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ewerton Postado Janeiro 22, 2007 Autor Denunciar Share Postado Janeiro 22, 2007 opaaaaa o codigo num tá bixado não hauhauhau. Eu tambem não sou a autora, eu apenas disponibilizei o codigo que achei pela net.Bom, ele funciona perfeitamente no IE, não sei se no Firefox dá problema. Ewerton voce está testando em qual navegador? Se voce fez modificações, poste o codigo então porque pode ser conflitoNão cheguei a inserir o código, é que o colega falou que não funciona no FFApenas como curiosidade esse código vai entre o head ou body?<script language=javascript> //MÁSCARA DE VALORES function txtBoxFormat(objeto, sMask, evtKeyPress) { var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla; if(document.all) { // Internet Explorer nTecla = evtKeyPress.keyCode; } else if(document.layers) { // Nestcape nTecla = evtKeyPress.which; } sValue = objeto.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( " ", "" ); fldLen = sValue.length; mskLen = sMask.length; i = 0; nCount = 0; sCod = ""; mskLen = fldLen; while (i <= mskLen) { bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":")) bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " ")) if (bolMask) { sCod += sMask.charAt(i); mskLen++; } else { sCod += sValue.charAt(nCount); nCount++; } i++; } objeto.value = sCod; if (nTecla != 8) { // backspace if (sMask.charAt(i-1) == "9") { // apenas números... return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9 else { // qualquer caracter... return true; } } else { return true; } } </script>Encontrei outra solução, separei os campos...Um para o DDD e o outro para o nº do fone. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cavotta Postado Janeiro 23, 2007 Denunciar Share Postado Janeiro 23, 2007 Bug resolvido! Testei a máscara pra telefone no FF e IE. Tá ok!Testem com outros tipos de máscaras. Se descobrirem erros postem aqui. Seria bom fixar esse código em algum lugar, pois googlei e tem muitos fóruns com esse mesmo código (muitos com o bug). <script language=javascript> //MÁSCARA DE VALORES function txtBoxFormat(objeto, sMask, evtKeyPress) { var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla; if(document.all) { // Internet Explorer nTecla = evtKeyPress.keyCode; } else if(document.layers) { // Nestcape nTecla = evtKeyPress.which; } else { nTecla = evtKeyPress.which; if (nTecla == 8) { return true; } } sValue = objeto.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( " ", "" ); fldLen = sValue.length; mskLen = sMask.length; i = 0; nCount = 0; sCod = ""; mskLen = fldLen; while (i <= mskLen) { bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":")) bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " ")) if (bolMask) { sCod += sMask.charAt(i); mskLen++; } else { sCod += sValue.charAt(nCount); nCount++; } i++; } objeto.value = sCod; if (nTecla != 8) { // backspace if (sMask.charAt(i-1) == "9") { // apenas números... return ((nTecla > 47) && (nTecla < 58)); } else { // qualquer caracter... return true; } } else { return true; } } </script> <body> Telefone:<input type="text" size="20" onkeypress="return txtBoxFormat(this, '(99)9999-9999', event);"> </body> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Janeiro 23, 2007 Denunciar Share Postado Janeiro 23, 2007 Tópico arrumado, quem achar algum bug no codigo do cavotta avisa aí que a gente vai arrumando Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Ewerton
Gostaria de fazer uma máscara para o campo telefone, por exemplo ( ) ____-____
Como eu faço?
Obrigado.
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.