Ir para conteúdo

POWERED BY:

Arquivado

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

Slayer

Mascarar campos em um form

Recommended Posts

Alguém sabe como mascarar campos em um formulário???

 

Por ex.: eu tenho uma caixa de texto onde o usuário deve digitar o telefone, portanto gostaria que essa caixa de texto assumisse o seguinte formato quando o usuário digitar os números: (##) ####-#### sem precisar digitar os parênteses e o hífen, pois eles seriam inseridos automaticamente.

 

Agradeço quem puder me ajudar!

Valew!

:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma forma seria inserir os campos em partes, numa caixa de texto para o DDD, uma caixa de texto para os 4 primeiros digitos e mais uma caixa de texto para os 4 ultimos digitos.O insert seria assim:No Server Behaviors >>> Command >>> Insert>>>INSERT INTO nomedatabela (nomedocampo) VALUES ('numerotel')numerotel = "("&Request.Form("campo1")&")"&Request.Form("campo2")&"-"&Request.Form("campo3")Na pratica voce insere os campos da seguinte forma:(&campo1&)&campo2&-&campo3Voce pode inserir espacos tambem assim &' '&.Estes codigos sao meio complicados de manusear pois qualquer apostrofo a mais ou a menos da erro na string.Qualquer outra maneira seria usando strings de SQL bem mais complexas, algo do tipo:Exemplo: CAST(((CAST(SUBSTRING(CAST(time AS CHAR(7)), LEN(time)-2, 3) AS DECIMAL)dividindo o campo em substrings e concactenado-os da forma que queiras, mas voce teria que postar na area Banco de Dados.[]'s,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela dica, mori.

Mas eu esqueci de mencionar que não pretendo usar um banco de dados, pretendo fazer apenas um formulário para envio de e-mail, o qual contém Nome, E-mail (que usei o Validate form para validar), Telefone e Mensagem.

 

O campo de telefone deve apenas assumir a formatação (##) ####-#### enquanto o usuário digita os números.

 

Onde # são os números do telefone

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho q esse script vai te quebrar um galhão !!!! <_<

Ele faz qquer tipo de máscaras que você precisar. :P ;)

<html> <head> <title>Máscaras para Formulários</title> <script language="JavaScript"> /*** * Descrição.: formata um campo do formulário de * acordo com a máscara informada... * Parâmetros: - objForm (o Objeto Form) * - strField (string contendo o nome * do textbox) * - sMask (mascara que define o * formato que o dado será apresentado, * usando o algarismo "9" para * definir números e o símbolo "!" para * qualquer caracter... * - evtKeyPress (evento) * Uso.......: <input type="textbox" * name="xxx"..... * onkeypress="return txtBoxFormat(document.rcfDownload, 'str_cep', '99999-999', event);"> * Observação: As máscaras podem ser representadas como os exemplos abaixo: * CEP -> 99.999-999 * CPF -> 999.999.999-99 * CNPJ -> 99.999.999/9999-99 * Data -> 99/99/9999 * Tel Resid -> (99) 999-9999 * Tel Cel -> (99) 9999-9999 * Processo -> 99.999999999/999-99 * C/C -> 999999-! * E por aí vai... ***/function txtBoxFormat(objForm, strField, 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 = 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( " ", "" );      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) == "/"))        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++;      }      objForm[strField].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;      }    }//Fim da Função Máscaras Gerais</head> <body> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Formatação de várias Máscaras de Entradas para campos de Formulários</strong></font> <form name="Form"> <table border="0" cellspacing="2" cellpadding="2"> <tr> <td width="66"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">cep  </font></td> <td width="128"> <input type="text" name="str_cep" maxlength="10" size="10" onkeypress="return txtBoxFormat(document.Form, 'str_cep', '99.999-999', event);"> </td> </tr> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">cpf  </font></td> <td> <input type="text" name="str_cpf" maxlength="14" size="14" onkeypress="return txtBoxFormat(document.Form, 'str_cpf', '999.999.999-99', event);"> </td> </tr> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">cnpj</font></td> <td><input type="text" name="str_cnpj" maxlength="18" size="18" onkeypress="return txtBoxFormat(document.Form, 'str_cnpj', '99.999.999/9999-99', event);"></td> </tr> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">data</font></td> <td><input type="text" name="str_data" maxlength="10" size="10" onkeypress="return txtBoxFormat(document.Form, 'str_data', '99/99/9999', event);"></td> </tr> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">tel resid</font></td> <td><input type="text" name="str_tel2" maxlength="13" size="13" onkeypress="return txtBoxFormat(document.Form, 'str_tel2', '(99) 999-9999', event);"></td> </tr> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">tel cel </font></td> <td> <input type="text" name="str_tel" maxlength="14" size="14" onkeypress="return txtBoxFormat(document.Form, 'str_tel', '(99) 9999-9999', event);"> </td> </tr> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Processo</font></td> <td><input type="text" name="str_proc" maxlength="20" size="20" onkeypress="return txtBoxFormat(document.Form, 'str_proc', '99.999999999/9999-99', event);"></td> </tr> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">conta  </font></td> <td> <input type="text" name="str_cc" maxlength="6" size="10" onkeypress="return txtBoxFormat(document.Form, 'str_cc', '9999-!', event);"> </td> </tr> </table> </form> </body> </html>

 

Alica CWB :(

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.