2012-06-21 38 views
3

我有一個帶有onclick和onclientclick事件的asp.net按鈕。使用jQuery確認對話框阻止表單回發<asp:Button>

<asp:Button ID="ButtonSave" Text="Save" ToolTip="Save" CssClass="causesValidation button" OnClick="ButtonSave_Click" OnClientClick="myfunction();" runat="server"/> 

只要我點擊按鈕,客戶端和服務器端事件都被觸發。如果客戶端函數成功,我只想運行服務器端事件。

我試過如下:

function myfunction() 
{ 
    // Show dialog 
    $('#mydialog').dialog('open'); 


// on dialog confirmation return true, else false; 
} 

<asp:Button ID="ButtonSave" Text="Save" ToolTip="Save" CssClass="causesValidation button" OnClick="ButtonSave_Click" OnClientClick="return myfunction();" runat="server"/> 

謝謝

+0

嗯,這是兩個事件都被激發的意圖。如果您不喜歡這個,請刪除您不希望發生的事件。 – hakre

+0

讓我重新說明這個問題 - 我有一個asp.net按鈕,它會導致窗體驗證並且還有一個onclick事件。現在我想在我提交表單之前做一些javascript計算。但是我想在執行onclientclick之前驗證表單。什麼是最好的方法? – user1473171

+0

更準確地說,我正在顯示來自javascript函數的對話框,並且對話框有兩個按鈕,並且可以取消。點擊確定,我想提交表單。但是我想在顯示對話框之前驗證表單。 – user1473171

回答

2

變化

OnClientClick="myfunction();" 

通過

OnClientClick="return myfunction();" 
+0

我不認爲它適用於我。 – user1473171

+0

讓我換個問題 - 我有一個asp.net按鈕,它將導致窗體驗證並且還有一個onclick事件。現在我想在我提交表單之前做一些javascript計算。但是我想在執行onclientclick之前驗證表單。什麼是最好的方法? – user1473171

+0

更準確地說,我從javascript函數顯示一個對話框,並且對話框有兩個按鈕,並且取消。點擊確定,我想提交表單。但是我想在顯示對話框之前驗證表單。 – user1473171

0
onclientclick=return function(); 
+0

讓我重新提出這個問題 - 我有一個asp。網絡按鈕,這將導致表單驗證,並且還有一個onclick事件。現在我想在我提交表單之前做一些javascript計算。但是我想在執行onclientclick之前驗證表單。什麼是最好的方法? – user1473171

+0

更準確地說,我正在顯示來自javascript函數的對話框,並且對話框有兩個按鈕,並且可以取消。點擊確定,我想提交表單。但是我想在顯示對話框之前驗證表單。 – user1473171

0

OnClientClick="myfunction()"更改爲OnClientClick="myfunction(); return false;",然後調用__doPostBack函數將ButtonSave UniqueID作爲第一個參數值傳遞給對話框確認

+0

這導致頁面無法驗證 – user1473171

+0

讓我重新說明問題 - 我有一個asp.net按鈕,這將導致窗體驗證,並且還有一個onclick事件。現在我想在我提交表單之前做一些javascript計算。但是我想在執行onclientclick之前驗證表單。什麼是最好的方法? – user1473171

+0

更準確地說,我正在顯示來自javascript函數的對話框,並且對話框有兩個按鈕,並且可以取消。點擊確定,我想提交表單。但是我想在顯示對話框之前驗證表單。 – user1473171