Usuário com melhor resposta
TextBox + priceformat

Pergunta
-
Estou usando a biblioteca do jquery priceformat para fazer formatação de campos numéricos porém ao utiliza-la com texbox com a propriedade autopostback=true o evento textchange não é acionado conforme o código a seguir
<head runat="server"> <script src="<%= Page.ResolveUrl("~/Scripts/jquery-1.8.2.min.js")%>" type="text/javascript"></script> <script src="<%= Page.ResolveUrl("~/Scripts/jquery.price_format.1.7.min.js") %>" type="text/javascript"></script> <script language="javascript" type="text/javascript"> $(document).ready(function () { $('.preco').priceFormat({ prefix: 'R$ ', centsSeparator: ',', thousandsSeparator: '.', limit: 10 }); }); </script> <title></title> </head> <body> <form id="form1" runat="server"> <div> <table> <tr> <td colspan="2" class="style2"> Macoratti.net </td> </tr> <tr> <td> Nome </td> <td> <asp:TextBox ID="txtNome" runat="server" Width="211px" class="preco" AutoPostBack="true" OnTextChanged="txtNome_TextChanged"></asp:TextBox> </td> </tr> <tr> <td> Email </td> <td> <asp:TextBox ID="txtEmail" runat="server" Width="211px"></asp:TextBox> </td> </tr> <tr> <td> URL </td> <td> <asp:TextBox ID="txtURL" runat="server" Width="211px"></asp:TextBox> </td> </tr> <tr> <td> Cep </td> <td> <asp:TextBox ID="txtCep" runat="server"></asp:TextBox> </td> </tr> </table> <br /> <asp:Button ID="btnSubmit" OnClientClick=" return validate()" runat="server" Text="Enviar" Width="176px" /> </div> </form> </body> </html>
protected void txtNome_TextChanged(object sender, EventArgs e) { Response.Write(txtNome.Text); }
Respostas
-
A outra alternativa é usar a função AutoNumeric que se encontra no link http://www.decorplanit.com/plugin/.
<head runat="server"> <script src="<%= Page.ResolveUrl("~/Scripts/jquery-1.8.2.min.js")%>" type="text/javascript"></script> <script src="<%= Page.ResolveUrl("~/Scripts/autoNumeric-1.7.5.js") %>" type="text/javascript"></script> <script language="javascript" type="text/javascript"> jQuery(function ($) { $('.auto').autoNumeric({ aSep: ',', aDec: '.' }); }); </script> <title></title> </head> <body> <form id="form1" runat="server"> <div> <table> <tr> <td colspan="2" class="style2"> Macoratti.net </td> </tr> <tr> <td> Nome </td> <td> <asp:TextBox ID="txtNome" runat="server" Width="211px" AutoPostBack="true" class="auto" ontextchanged="textNome_TextChanged"></asp:TextBox> </td> </tr> <tr> <td> Email </td> <td> <asp:TextBox ID="txtEmail" runat="server" Width="211px"></asp:TextBox> </td> </tr> <tr> <td> URL </td> <td> <asp:TextBox ID="txtURL" runat="server" Width="211px"></asp:TextBox> </td> </tr> <tr> <td> Cep </td> <td> <asp:TextBox ID="txtCep" runat="server"></asp:TextBox> </td> </tr> </table> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> <br /> <asp:Button ID="btnSubmit" OnClientClick=" return validate()" runat="server" Text="Enviar" Width="176px" /> </div> </form> </body> </html>
- Marcado como Resposta Eduardo F. Goulart quarta-feira, 14 de novembro de 2012 19:32
Todas as Respostas
-
Tente colocar seu javascript assim:
$(document).ready(function () { function RegistrarPriceFormat() { $('.preco').priceFormat({ prefix: 'R$ ', centsSeparator: ',', thousandsSeparator: '.', limit: 10 }); } RegistrarPriceFormat(); });
E dentro do método txtNome_TextChanged você coloca:
ScriptManager.RegisterClientScriptBlock(Me.Page, Me.Page.GetType(), "RegistrapriceFormat", " RegistrarPriceFormat(); ", True)
http://samuelcazelli.blogspot.com/
-
-
Tenta colocar um alert no javascript para ver se está sendo chamado corretamente:
$(document).ready(function () { function RegistrarPriceFormat() { alert('passei'); $('.preco').priceFormat({ prefix: 'R$ ', centsSeparator: ',', thousandsSeparator: '.', limit: 10 }); } RegistrarPriceFormat(); });
No caso a mensagem tem q ser exibida no carregamento da página, e depois do postback.
http://samuelcazelli.blogspot.com/
-
A outra alternativa é usar a função AutoNumeric que se encontra no link http://www.decorplanit.com/plugin/.
<head runat="server"> <script src="<%= Page.ResolveUrl("~/Scripts/jquery-1.8.2.min.js")%>" type="text/javascript"></script> <script src="<%= Page.ResolveUrl("~/Scripts/autoNumeric-1.7.5.js") %>" type="text/javascript"></script> <script language="javascript" type="text/javascript"> jQuery(function ($) { $('.auto').autoNumeric({ aSep: ',', aDec: '.' }); }); </script> <title></title> </head> <body> <form id="form1" runat="server"> <div> <table> <tr> <td colspan="2" class="style2"> Macoratti.net </td> </tr> <tr> <td> Nome </td> <td> <asp:TextBox ID="txtNome" runat="server" Width="211px" AutoPostBack="true" class="auto" ontextchanged="textNome_TextChanged"></asp:TextBox> </td> </tr> <tr> <td> Email </td> <td> <asp:TextBox ID="txtEmail" runat="server" Width="211px"></asp:TextBox> </td> </tr> <tr> <td> URL </td> <td> <asp:TextBox ID="txtURL" runat="server" Width="211px"></asp:TextBox> </td> </tr> <tr> <td> Cep </td> <td> <asp:TextBox ID="txtCep" runat="server"></asp:TextBox> </td> </tr> </table> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> <br /> <asp:Button ID="btnSubmit" OnClientClick=" return validate()" runat="server" Text="Enviar" Width="176px" /> </div> </form> </body> </html>
- Marcado como Resposta Eduardo F. Goulart quarta-feira, 14 de novembro de 2012 19:32