none
Jquery perde a mascara RRS feed

  • 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"/>

    quinta-feira, 12 de maio de 2016 13:39

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

    quinta-feira, 12 de maio de 2016 21:36
  • 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>

    sexta-feira, 13 de maio de 2016 06:01

Todas as Respostas

  • Bom dia, está dentro de update panel?

    Se foi útil marque como resposta por favor, obrigado Abraço Danilo Telles

    quinta-feira, 12 de maio de 2016 14:02
  • 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

    quinta-feira, 12 de maio de 2016 21:36
  • 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>

    sexta-feira, 13 de maio de 2016 06:01