Ir para conteúdo

POWERED BY:

Arquivado

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

hellaogouveia

Máscaras(cnpj,cpf,cep...)

Recommended Posts

Olá pessoas, estou desenvolvendo um sistema web mas voltado para tablets, e o problema é que eu gostaria de colocar máscara nos campos de CPF, CNPJ, CEP, etc..

Acontece que, para facilitar pro usuário, eu coloquei esses campos do tipo "number", nos inputs do html, pra que quando o usuário clicar, abrir só o teclado numérico, e é aí que está o problema, porque por causa da máscara, ele acaba por não deixar digitar nada...tá, mas eu poderia colocar o input type text, só que aí fica uma coisa chata na hora de digitar, porque toda vez que aparece um caracter que não é número, fica mudando o teclado, caso alguém tenha uma ideia do que eu poderia fazer, além de deixar esse negócio de máscara pra lá, eu agradeceria

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem o exemplo que eu possa ver para tentar te ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, esse é o html do campo

<span>CNPJ</span>
<input type="number" maxlength="18" name="cnpj" id="cnpj_cliente"onkeypress="mascara(this, '##.###.###/####-##');">

 

e essa é a função, bem simples, pra "mascarar"

 

 

function mascara(src, mask){
    var i = src.value.length;
    var saida = mask.substring(0,1);
    var texto = mask.substring(i)
    if (texto.substring(0,1) != saida){
        src.value += texto.substring(0,1);
    }
}

obs.: essa função eu peguei pronta, caso o autor dela a veja, obrigada..rs

 

ah, eu esqueci de dizer, estou usando o mootools, eu achei um plugin muito bom pra máscaras (Meio.Mask), mas também dá o problema

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, então, tem uma forma mais fácil de se fazer isto...

 

O telefone terá suporte aos caracteres de país, exemplo: +55 (99)9999-9999 ou a formatação será simples tipo (99)9999-9999?

 

Para a forma simples, faça desta forma:

 

 

<input type="tel"  pattern='[\(]\d{2}[\)]\d{4}[\-]\d{4}' name="telefone" id="telefone"/>

Veja se ajuda!

 

Beijos! :kiss:

Compartilhar este post


Link para o post
Compartilhar em outros sites

marcus_du, a sua ideia QUASE foi a solução, na verdade, não é a forma mais correta a se fazer, mas o que eu fiz foi colocar o input do cnpj type=tel, porque o problema com type=number é que não permite nada além de números eponto, pelo menos em dispositivos android, então, quando chegava na / da máscara do cnpj, limpava o campo, com o type=tel isso não ocorre!!

 

por enquanto vou deixar assim, caso alguém tenha uma ideia mais correta, ainda aceito sugestões!

 

Obrigada pessoas!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

hahahaha, não havia percebido que era cnpj...

 

Mas as vezes o "gato" é a solução hehehe!

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.