更新面板与jquery验证冲突



我一直在使用jQuery验证提交点击。我的页面包含两个div。

问题出现时,我把两个div在一个更新面板,验证停止工作,错误显示

Uncaught TypeError: Object [Object Object]没有方法'validate'

当更新面板被注释时,所有工作正常,但有完整的回发(这是我不想要的)。

我已经使用了几乎所有的东西,我在互联网上找到(noConflicts, Sys.WebForms.PageRequestManager.getInstance()等)

还有人能帮我吗?

代码:

:

<script type="text/javascript" src="../../Javascript/Validators/jquery.validate.js"></script>
<script type="text/javascript">
    jQuery(document).ready
    (
      function () {
          jQuery("#btn_Save").live("click", function () {
              jQuery("#form1").validate
        (
          {
              rules: {
                  txtContactPerson: "required"
              },
              messages: {
                  txtContactPerson: " * Please enter Contact Person Name"
              }
          }
        );
          });
      }
    ); 
</script>          
身体:

更新面板中简单的两个列表div

实际上,您可以对服务器表单使用jQuery验证。但这在UpdatePanel中变得很棘手。试试下面的方法:

在标题

:

<script type="text/javascript">
     $(function () {
          $("#form1").validate(
          {
               rules: {
                    '<%= txtContactPerson.ClientID %>': "required"
               },
               messages: {
                    '<%= txtContactPerson.ClientID %>': " * Please enter Contact Person Name"
               }
          });
     })          
</script>

ScriptManager控件后面:

<script type="text/javascript">
     Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(initializeRequestHandler);
     function initializeRequestHandler(sender, args) {
          if (args.get_postBackElement().id == '<%= btn_Save.ClientID %>' && $("#form1").valid() !== true) {
               args.set_cancel(true);
          }
     }
</script>

标记:

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
     <ContentTemplate>
          <asp:TextBox runat="server" ID="txtContactPerson" />
          &nbsp;
          <asp:Button ID="btn_Save" runat="server" Text="Submit" />
     </ContentTemplate>
</asp:UpdatePanel>

如果你想禁用异步回发不仅为btn_Save,只需删除这段代码:args.get_postBackElement().id == '<%= btn_Save.ClientID %>' &&

最新更新