簡體   English   中英

jQuery按鈕觸發服務器端onclick事件

[英]jquery button trigger server side onclick event

我正在使用一個jquery對話框,當用戶單擊確定時,應該觸發服務器端onclick事件,如果單擊取消,則什么也沒有發生。

我必須先通過preventDefault()函數來防止click函數。

  $(document).ready(function () {
         $("#<%=submit.ClientID %>").click(function (event) {
             event.preventDefault();
                $("#confirm").dialog({
                    buttons: {
                        "OK": function () {  $(this).dialog("close"); 
                              Here should be the code to trigger the server side click event


                     },
                        "Cancel": function () { $(this).dialog("close");},
                    } 
                });
         });
     });

我不知道如何觸發服務器端onclick事件。 有任何想法嗎? 謝謝

event.preventDefault()放在取消部分或某種條件下,以便它不會在每次單擊時都運行。

我認為您在服務器端和客戶端之間感到困惑。 如果要在服務器端觸發事件,則需要通知他(可以通過ajax調用來完成)。 click事件是客戶端事件,不會在服務器端執行任何操作。 嘗試在“確定”功能下放置一些代碼,以通過ajax調用通知服務器。

無論如何,您應該將event.preventDefault()調用移至“取消”函數中。

編輯:另一種處理方法是防止不希望的提交發生。 在您的表單標簽上添加onsubmit="foo()"並定義:

function foo(){
   //call your dialog and return true to continue the submit and false to cancel.
}

它看起來有點依賴於實現細節(即使它們被廣泛使用以至於它們不會被更改),但是代碼是這樣的:

__doPostBack('submit','OnClick');

這將執行OnClick事件處理程序命名為控制submit 作為參考,請看一下有關回發在ASP.NET中如何工作的小教程。

https://stackoverflow.com/a/10583339/1202242

我用了兩個按鈕,一個被隱藏了。 它完美地解決了我的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM