2009-11-18 80 views
2

我有一個關閉ASP.NET Ajax窗體上的模式對話框的按鈕。如何添加一個客戶端功能在同一按鈕上單擊被調用?如何...將客戶端功能添加到回發的按鈕?

目前螢火蟲有本作的onclick

javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$DefaultContent$btnPaymentActionDetailClose", "", true, "", "", false, false)) 

我可以再補充一個單擊處理程序使用jQuery?我不想消除回傳,因爲它是表單功能所必需的。

我可以使用

$("#buttonId").bind("click", function(e){ 
    runAnotherFunction(); 
}); 

,而不是與現有的回傳干涉?

其實真相被告知,我想在模態對話框關閉時執行函數。 ajax控件工具包小部件是否觸發任何類型的事件?我知道我可以找到行爲並呼叫顯示和隱藏。當執行modal.hide()時,我可以將函數附加到exec嗎?

感謝您的任何意見,在聖地亞哥 〜CK

回答

3

是的,你絕對可以回發之前在客戶端上你的ASP:Button運行JavaScript。這是webcontrol的OnClientClick屬性。

你不需要這個jQuery。

<asp:button id="btn" runat="server" onClientClick="SomeJsFunction()" 
    onClick="ServerSideMethod()" Text="Hello Button" /> 

<script language='javascript'> 
    function SomeJsFunction() 
     { 
     alert('hi'); 
     } 
</script> 

如果你是否發生回發有興趣控制,你可以返回並檢查真/從你的JavaScript函數的結果虛假。

function SomeJsFunction() 
{ 
    var isGood = false; 
    return isGood; 
} 

<asp:button id="btn" runat="server" onClientClick="return SomeJsFunction()" 
    onClick="ServerSideMethod()" Text="Hello Button" /> 

(感謝Ralph在評論微調)

+1

+1我想補充一點,你可能希望它返回true或false,如「的OnClientClick =‘返回SomeJsFunction()’ '如果你需要驗證一些輸入和/或有條件地取消回發。 JS函數顯然需要返回一個布爾值。 – 2009-11-20 01:23:10

相關問題