我有一個項目,我目前的工作是有多個驗證器和事件時創建回傳(經典的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驗證內容,但服務器端。我想讓它驗證客戶端。
你可以發表一些代碼,以便我們可以看到你目前在做什麼? –
我已經添加了一個例子:) – Erick