Usuário com melhor resposta
Jquery perde a mascara

Pergunta
-
Pessoal, bom dia. Eu tenho um textbox com uma mascara para cnpj porem quando eu mudo de campo simplesmente meu campo perde a mascara, caso eu tenha que alterar meu cnpj a mascara some. Segue abaixo meu código.
<script>
jQuery(function ($) {
$("#ctl00_plhConteudo_txtCNPJ").mask("?99.999.999/9999-99");
});</script>
<asp:TextBox CssClass="formato" runat="server" ID="txtCNPJ" OnTextChanged="txtCNPJ_TextChanged" AutoPostBack="true" MaxLength="14"/>
Respostas
-
Possivelmente o método txtCNPJ_TextChanged está alterando o valor do textbox. O que o método faz?
Depois, o interessante é chamar o método para inserir a máscara no evento onload da página, ou seja, quando todos os elementos são carregados. Veja como chamar abaixo://jQuery $(document).ready(function() { $("#ctl00_plhConteudo_txtCNPJ").mask("?99.999.999/9999-99"); }); //Javascript onload = function() { $("#ctl00_plhConteudo_txtCNPJ").mask("?99.999.999/9999-99"); }
Abs
- Marcado como Resposta Gabriel Rodrigues Porto sexta-feira, 13 de maio de 2016 17:28
-
Repare que você está usando um id fixo para um controle renderizado no server. O correto seria usar algo como:
$("'#" + <%=txtNOMETEXTBOXSERVER.ClientID %> + "').mask("?99.999.999/9999-99");
Substitua o "NOMETEXTBOXSERVER" pelo id que você colocou no componente, que quase com certeza é um <asp:textbox>
- Marcado como Resposta Gabriel Rodrigues Porto sexta-feira, 13 de maio de 2016 17:28
Todas as Respostas
-
-
Possivelmente o método txtCNPJ_TextChanged está alterando o valor do textbox. O que o método faz?
Depois, o interessante é chamar o método para inserir a máscara no evento onload da página, ou seja, quando todos os elementos são carregados. Veja como chamar abaixo://jQuery $(document).ready(function() { $("#ctl00_plhConteudo_txtCNPJ").mask("?99.999.999/9999-99"); }); //Javascript onload = function() { $("#ctl00_plhConteudo_txtCNPJ").mask("?99.999.999/9999-99"); }
Abs
- Marcado como Resposta Gabriel Rodrigues Porto sexta-feira, 13 de maio de 2016 17:28
-
Repare que você está usando um id fixo para um controle renderizado no server. O correto seria usar algo como:
$("'#" + <%=txtNOMETEXTBOXSERVER.ClientID %> + "').mask("?99.999.999/9999-99");
Substitua o "NOMETEXTBOXSERVER" pelo id que você colocou no componente, que quase com certeza é um <asp:textbox>
- Marcado como Resposta Gabriel Rodrigues Porto sexta-feira, 13 de maio de 2016 17:28