sábado, 2 de abril de 2016

Mascara de Telefone com jquery

Muitas pessoas podem ter problemas ao tentar criar uma máscara com Jquery, bom felizmente existe um plugin muito bom e prático para fazer este tipo de tarefa. o jQuery Mask


bastando para isso fazer isso aqui:

$("#telefone").mask("(99)9999-9999");

Fazendo isso já temos uma mascara do tipo telefone, que só recebe números de 1 a 9 e deve obedecer a esta regra que criamos, quando o usuário clicar no campo ficará assim:

(  )____-____

Nosso tutorial não se resume a isso, eu quero fazer um algo a mais aqui, bom, alguns estados agora tem o 9º digito, então para este tipo de telefone teremos que ter esta outra máscara:

$("#telefone").mask("(99)99999-9999");

Agora veio um pequeno problema, pois se o usuário digitar o telefone sem o nono digito, automaticamente o jquery vai apagar o campo, portanto vamos ver uma pequena solução para este problema, quero lhe apresentar o evento .focusout() do jquery, ele é acionado assim que um campo perde o foco, neste caso usaremos para aramzenar a informação digitada pelo usuário e joga-la novamente nos seu devido lugar, depois você pode fazer uma verificação no jquery ou php para ver se o usuario digitou o telefone corretamente.

bom vamos primeiramente pegar o que foi digitado pelo usuário e jogar em uma variavel:


$("#telefone").keyup(function() {
var tel = $(this).val();

Agora com o evento focusout vamos jogar novamente o que foi digitado pelo usuário

$(this).focusout(function() {
$("#telefone").val(tel);

Se você entende de Jquery sabe muito bem como tudo isso aqui funciona, até já sabe implementar isso em suas aplicações, mas vou deixar aqui o código completo e logo abaixo você pode baixar este exemplo completo para estudo ou implementação em suas aplicações:


<!DOCTYPE html>
<html lang="pt_br">
<head>
<title> exemplo jquery </title>
<script type= "text/javascript" src= "http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js" ></script>
<script type="text/javascript" src="js/jquery.maskedinput.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#telefone").mask("(99)99999-9999");
$("#telefone").keyup(function() {
var tel = $(this).val();
$(this).focusout(function() {
$("#telefone").val(tel);
});
});

});
</script>
</head>
<body>
<form>
<p> Nome <input id="nome" type="text" name="nome"> </p>
<p> Email <input id="email" type="email" name="email"> </p>
<p> Telefone <input id="telefone" type="text" name="telefone"> </p>
<p> Mensagem </p>
<p> <textarea name="msg" cols="20" rows="10"></textarea> </p>
<p> <input type="button" id="botao" name="enviar" value="Enviar"> </p>
</form>
</body>
</html>


Clique aqui para baixar o arquivo completo














Nenhum comentário:

Postar um comentário