none
jquery.maskedinput com UpdatePanel RRS feed

  • Pergunta

  • Estou com o seguinte desbeiço:

    Na master:

        <script src="Scripts/jquery.price_format.1.7.js" type="text/javascript"></script>
        <script src="Scripts/jquery.maskedinput-1.2.2.min.js" type="text/javascript"></script>

    No css:

    .campo-data {margin-left: 0px;}
    
    .campo-fone {margin-left: 0px;}

    No aspx:

        <script type="text/javascript">

            jQuery(function () {
                //        $('#exemplo1').priceFormat();

                $('.campo-moeda').priceFormat({
                    limit: 15,
                    centsLimit: 2,
                    prefix: '',
                    centsSeparator: ',',
                    thousandsSeparator: '.'
                });

            });
            $(function () {
                $('.campo-data').mask('99/99/9999');
            });
        </script>

    ...

    ...

    ...

    <asp:TextBox ID="txtVlrCompra" CssClass="campo-moeda" runat="server" TabIndex="7"></asp:TextBox>

    Tenho uma tela com alguns campos de entrada de dados e um grid que lista estas entradas.

    Tudo lindo, maravilhoso, prático e funcionando.

    Agora quando coloco o UpdatePanel as mascaras não funcionam mais.

    Aliás até funciona no quendo carrega mas após oi postback para.

    Pelo que pesquisei esta relacionado ao load da página, porém não consegui compreender como resolver este problema.


    Ninguém falou que seria fácil!

    quarta-feira, 18 de abril de 2012 14:08

Respostas

  • Tente usar a função do pageLoad do javascript:

    <script type="text/javascript">
    
        function pageLoad(sender, args) {
            jQuery(function () {
                //        $('#exemplo1').priceFormat();
    
                $('.campo-moeda').priceFormat({
                    limit: 15,
                    centsLimit: 2,
                    prefix: '',
                    centsSeparator: ',',
                    thousandsSeparator: '.'
                });
    
            });
            $(function () {
                $('.campo-data').mask('99/99/9999');
            });
        }
    </script>


    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    • Marcado como Resposta jothaz quarta-feira, 18 de abril de 2012 21:38
    quarta-feira, 18 de abril de 2012 17:14
  • Só com a utilização do pageLoad vai funcionar os js com update panel !
    • Marcado como Resposta jothaz quarta-feira, 18 de abril de 2012 21:38
    quarta-feira, 18 de abril de 2012 18:34

Todas as Respostas

  • Tente usar a função do pageLoad do javascript:

    <script type="text/javascript">
    
        function pageLoad(sender, args) {
            jQuery(function () {
                //        $('#exemplo1').priceFormat();
    
                $('.campo-moeda').priceFormat({
                    limit: 15,
                    centsLimit: 2,
                    prefix: '',
                    centsSeparator: ',',
                    thousandsSeparator: '.'
                });
    
            });
            $(function () {
                $('.campo-data').mask('99/99/9999');
            });
        }
    </script>


    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    • Marcado como Resposta jothaz quarta-feira, 18 de abril de 2012 21:38
    quarta-feira, 18 de abril de 2012 17:14
  • Só com a utilização do pageLoad vai funcionar os js com update panel !
    • Marcado como Resposta jothaz quarta-feira, 18 de abril de 2012 21:38
    quarta-feira, 18 de abril de 2012 18:34
  • Vitor,

    Muito obrigado! Funcionou perfeitamente.

    Eu tinha achado outra solução:

       <script type="text/javascript" language="javascript">
            $(document).ready(function () {
    
                $(".campo-data").mask("99/99/9999");
    
    
                $('.campo-moeda').priceFormat({
                    limit: 15,
                    centsLimit: 2,
                    prefix: '',
                    centsSeparator: ',',
                    thousandsSeparator: '.'
                });
    
                $('.campo-taxa-depreciacao').priceFormat({
                    limit: 6,
                    centsLimit: 2,
                    prefix: '',
                    centsSeparator: ',',
                    thousandsSeparator: '.'
                });
    
                Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
    
                function EndRequestHandler(sender, args) {
                    $(".campo-data").mask("99/99/9999");
    
                    $('.campo-moeda').priceFormat({
                        limit: 15,
                        centsLimit: 2,
                        prefix: '',
                        centsSeparator: ',',
                        thousandsSeparator: '.'
                    });
    
                    $('.campo-taxa-depreciacao').priceFormat({
                        limit: 6,
                        centsLimit: 2,
                        prefix: '',
                        centsSeparator: ',',
                        thousandsSeparator: '.'
                    });
                }
            });
        </script>

    Porém esta sua é bem simples e elegante.

    Valeu


    Ninguém falou que seria fácil!

    quarta-feira, 18 de abril de 2012 21:40