2012-06-21 88 views
0

所以我有一個asp:imagebutton讓我們說登錄到一個網站。用jQuery替換處理圖像的asp:imagebutton

OnClick頁面執行xyz然後重定向您,點擊按鈕時的重定向之間會有一段暫停時間。爲了讓等待更多的用戶友好,我與處理圖像代替按鈕和文本做這個的JavaScript是:

$(document).ready(function() { 
    $(".ShowProcessing").click(function() { 
     $(this).replaceWith("<img src='/content/images/processing.gif' /> Processing"); 
    }); 
}); 

這是按鈕:

<asp:ImageButton ID="Login" runat="server" OnClick="Login_Click" CssClass="ShowProcessing" /> 

問題是更改爲處理圖像發生,但是ASP OnClick事件不會觸發。

+0

如果刪除了jQuery做事件火如預期?無論如何,你基本上只想更新現有元素的'src'屬性,而不是從DOM中刪除和添加。 –

+0

上述事件在上述jquery被刪除時按預期觸發。 – Anicho

+0

我的解決方案不是替換,而是執行.hide()後跟.after(),它的工作方式與預期相同。 .Replace()在調用之前刪除OnClick函數。 – Anicho

回答

0

而不是使用.replace()的嘗試,並與成功:

$(".ShowProcessing").click(function() { 
    $(this).hide(); 
    $(this).after("<img src='/content/images/processing.gif' /> Please wait...") 

}); 
0

而是用別的東西代替整個元素的全部,只是改變當前元素的src

$(".ShowProcessing").click(function() { 
    $(this).attr("src", "/content/images/processing.gif"); 
}); 

這是如果ImageButton被呈現爲img正確的,什麼地方,而不僅僅是一些帶有腳本的時髦input(我不記得我的頭頂,webforms以奇怪的方式做一些事情)。然後繼續根據需要在現有元素之後插入文本

+0

我想盡量保持上述通用性,以便它可以在任何具有類ShowProcessing標籤的html項目上工作。 – Anicho

-1

我想你可能會嘗試刪除第一個圖像,然後添加新的處理圖像。

而不是替換使用(刪除然後添加)功能。