2013-04-20 119 views
3

我使用帶有asp.net驗證組和客戶端驗證(javascript)的按鈕單擊。如果它返回true,那麼它會首選JavaScript驗證,意味着它直接轉到serverside按鈕單擊事件而不檢查asp.net驗證。如何對控件使用JavaScript驗證和asp.net驗證

<asp:ImageButton ID="img_btn_register" runat="server" 
    ImageUrl="~/images/Register1.png" 
    **OnClientClick="return validat_form()"** OnClick="img_btn_register_Click1" 
    **ValidationGroup="qa"** /> 

回答

4

根據你的問題我知道你需要你的字段驗證應該先發生,然後腳本應該執行。

您可以在您的客戶端腳本中調用Page_ClientValidate()以顯式執行所有驗證,如果成功,則只應執行客戶端腳本。

這裏是在同一個小的演示:

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 

    <script type="text/javascript" language="javascript"> 
     function ClientScript() { 
      if (Page_ClientValidate("qa"))**// first check the validators in ValidationGroup "qa"** 
      { 
       alert("Save all Modification?"); 
      } 
     } 
    </script> 

</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
     <asp:RequiredFieldValidator ID="RequiredFieldValidator1" ValidationGroup="qa" runat="server" ControlToValidate="TextBox1" 
      Text="*" ErrorMessage="Value in Textbox1 is required!"> 
     </asp:RequiredFieldValidator> 
     <asp:Button ID="Button1" runat="server" ValidationGroup="qa" Text="Test Validation" OnClientClick="ClientScript()" /> 
    </div> 
    </form> 
</body> 
</html> 
+1

太謝謝你了它的工作對我來說。 – user2176150 2013-04-20 06:04:40