Asp.net

ASP.NET OnClientClick=‘return false;‘不工作

  • April 17, 2020

我只想在 Web 使用者控制項中添加一些客戶端(JQuery Javascript)驗證。我放置了一個 OnClientClick 處理程序並呼叫了該函式。但是,即使我返回“false”,OnClick 方法總是會被觸發。我究竟做錯了什麼 ?

我使用的是 VS 2010,目標是 4.0 框架和 JQuery 1.4.2。和 JQuery UI 1.8.4。

這是一個範常式式碼:

<td style="text-align:right"><asp:Button ID="btnAddSave" OnClientClick="return ValidateMail();" OnClick="btnAddSave_Click" runat="server" Text="Submit" /></td>

腳本方法:

function ValidateMail() {
alert("Bouton clicked");
return false;

}

如果我在 Page_Load 事件中放置一個斷點,我會看到我進入並且 btnAddSave_Click 事件也被執行。

您是否有返回的點擊事件處理程序(通過 jquery 註冊)trueOnClientClick在這種情況下,將忽略的返回值。

看看我的問題(和答案):為什麼不從 OnClientClick 返回 false 取消回發

出於某種原因,雖然我沒有附加任何 jquery 事件處理程序,但它不起作用。

實際起作用的是:

OnClientClick="if (validate_form() == false) return(false);"

引用自:https://stackoverflow.com/questions/3893963