[英]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.