【问题标题】:keypress not working after postback in ASPX在 ASPX 中回发后按键不起作用
【发布时间】:2011-08-06 16:33:32
【问题描述】:

我在 ASPX 页面中的文本框旁边有一个图像。我在 VS2010 中开发一个使用 jquery 的网络表单。在我点击页面上的按钮之前,一旦我按下任意键并且当我在文本框内时,我的图像就会消失。所以在发回之前一切正常。

但是,在我回发并在文本框中按任意键后,我的图像并没有消失。感谢您的任何建议。

   <script type="text/javascript">

   $(document).ready(function () {
             $('#tbPassword').keypress(function () {
                 $('#imgPassword').hide();
              });
   });

   </script>

   <tr>
                        <td class="style53">
                            <asp:UpdatePanel ID="uppPassword" 
                                             runat="server">
                            <ContentTemplate>
                                <asp:TextBox ID="tbPassword" 
                                             runat="server" 
                                             TextMode="Password" 
                                             Width="200px">
                                 </asp:TextBox>&nbsp;&nbsp
                            <asp:Label ID="lblPWCharacters" 
                                       runat="server" 
                                       CssClass="Label8g" 
                                       Text="(at least 6 characters)">
                            </asp:Label>
                            </ContentTemplate>
                            <Triggers>
                                <asp:AsyncPostBackTrigger       ControlID="btnSignUp"

                              EventName="Click" />
                            </Triggers>
                            </asp:UpdatePanel></td>
                        <td align="left" class="style52" valign="baseline">
                            <img id="imgPassword" src="../Images/Red-Error-con.png" /></td>
                    </tr> <td class="style53"><asp:Button ID="btnSignUp" 
                                                        runat="server" 
                                                                                                                                                   Text="Sign up"
                                                        Width="88px"  
                                                        TabIndex="2000" 
                                                        OnClientClick="validateText()"/>
                            </td>
                        <td class="style52">
                            &nbsp;</td>

   function validateText() {

   //not null password 
            if ($("#tbPassword").val()) {
                passwordValid();
            }
   }

【问题讨论】:

    标签: jquery asp.net jquery-ui jquery-selectors textbox


    【解决方案1】:

    您需要在每次更新时重新初始化它。您可以通过从更新面板捕获事件来做到这一点。

    var prm = Sys.WebForms.PageRequestManager.getInstance();    
    prm.add_initializeRequest(InitializeRequest);
    prm.add_endRequest(EndRequest);
    
    function InitializeRequest(sender, args) {      
    }
    
    function EndRequest(sender, args) {
                $('#tbPassword').keypress(function () {
                     $('#imgPassword').hide();
                  });
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-02
      • 1970-01-01
      • 1970-01-01
      • 2013-12-06
      • 1970-01-01
      • 1970-01-01
      • 2012-07-03
      • 2011-10-02
      相关资源
      最近更新 更多