2011-09-01 53 views
0

我有一個項目,我目前的工作是有多個驗證器和事件時創建回傳(經典的asp驗證控件)。從自定義方法調用客戶端事件

我有一個客戶端方法,當點擊提交按鈕時調用。它對各種服務進行ajax調用,一旦完成了所有事情,就會發送回傳(現在通過經典的document.forms[0].submit())。

這裏的問題是,我的javascript方法是在事件隊列上的每個其他javascript調用之前運行的。第二個問題是我的方法返回false來阻止PostBack(我做異步調用,所以我需要確保只有當我確信每個處理完成時才進行PostBack)。

我想要在驗證隊列的末尾調用這個方法,或手動調用方法本身內部的每個驗證,然後運行ajax調用。

這裏是一個POC問題的解釋(普通簡單的頁面):

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
    <script type="text/javascript"> 
     Validate = function() { 
      setTimeout(function() { document.forms[0].submit() }, 2000); 

      return false; 
     } 
    </script> 


    <asp:TextBox runat="server" ID="txtSomething"></asp:TextBox> 
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" onclientclick="return Validate();" Text="Button" /> 
    <asp:RequiredFieldValidator runat="server" ID="valRequiredTruc" ControlToValidate="txtSomething">something is required</asp:RequiredFieldValidator> 
</asp:Content> 

這裏,驗證功能塊的回傳做一些事情。 2秒後創建回傳,RequiredFieldValidator驗證內容,但服務器端。我想讓它驗證客戶端。

+0

你可以發表一些代碼,以便我們可以看到你目前在做什麼? –

+0

我已經添加了一個例子:) – Erick

回答