2011-01-11 70 views
0

我似乎無法找到任何評論我在嘗試使用jassery驗證插件時遇到的行爲。jquery驗證插件的問題,表單提交時無效

我在VB.net工作(我知道,我知道)

無論如何,我有幾個嵌套母版頁與我的形式提供給用戶的控制。

問題是,驗證工作,我收到一條消息,說名字是必需的,但表單然後提交。有沒有其他人遇到過這個?有沒有人有解決方案?

的用戶控件聲明如下:

<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="CampaignForm.ascx.vb" Inherits="CampaignForm" %> 

該插件

<script type="text/javascript"> 
    // only for test purposes 
    $.validator.setDefaults({ 
     submitHandler: function() { 
      alert("submitted!"); 
     } 
    }); 

    $(document).ready(function() { 
     $("#form1").validate({ 
      rules:{ 
      <%=tbFirstName.UniqueID %>: { 
       required:true, 
       minlength:2 
       } 
      }, messages:{} 
     }); 
    }); 
</script> 

然後規則腳本的輸入規則

<asp:TextBox class="Wider" ID="tbFirstName" ClientIDMode="Static" runat="server"></asp:TextBox> 
<label for="tbFirstName" class="error">First name is required and must be longer than 2 characters</label> 

提交按鈕:

<asp:Button Width="248" Height="68" ID="btnSubmit" CssClass="btnCompareNow" runat="server" /> 

最後處理該按鈕的方法提交:

Private Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click 

    If Page.IsValid Then 
    End If 

End Sub 

回答

1

我可能錯了b,但我認爲它是因爲烏拉圭回合使用服務器端的控制按鈕,這無論如何都會發布的數據...

EDIT1

呼叫按鈕的功能類似提交onClick="validate(this);"

<script> 
function validate(e){ 
e.preventDefault(); 
} 


</script> 

EDIT2

$(document).ready(function(){ 

$('#btnSubmit').click(function(e) { 
     e.preventDefault(); 
    }); 
}); 
+0

感謝您的幫助,但可悲的是沒有答案的,形式仍然提交......我甚至嘗試添加返回FALSE;該方法。 – jimplode 2011-01-11 14:29:31