Asp.net
點擊時禁用按鈕
我有一個按鈕控制項。一旦使用者點擊它,點擊事件應該觸發,然後按鈕應該被禁用。我怎樣才能做到這一點?我可以選擇使用 JQuery 或 JavaScript 或兩者。
這是我的按鈕聲明:
<asp:Button ID="Button1" runat="server" Text="Click Me" onclick="Button1_Click" />在後面的按鈕點擊程式碼上,我添加了一個 Response.Write()。那應該被執行,然後按鈕應該被禁用
無論出於何種原因,HTML 規範規定禁用元素不應包含在 POST 請求中。因此,如果您在客戶端 onclick 事件中使用 JavaScript 禁用 HTML 元素,則當瀏覽器組裝 POST 請求時,輸入元素將被禁用,伺服器將無法正確通知哪個元素引發了回發,它會’不觸發伺服器端點擊事件處理程序。
當您將UseSubmitBehavior屬性設置為 false 時,ASP.NET 將呈現****按鈕類型的輸入元素,而不是ASP.NET 按鈕控制項通常生成的送出類型的正常輸入。這很重要,因為點擊按鈕元素不會觸發瀏覽器的表單送出事件。
ASP.NET 不依賴瀏覽器表單送出,而是在該按鈕元素的 onclick 處理程序中呈現對 __doPostBack() 的客戶端呼叫。__doPostBack 將明確提出回發,無論請求中通過什麼 POST 數據。
通過獨立於瀏覽器送出事件引發回發,您可以擺脫前面提到的 HTML 怪癖。然後,您可以設置“this.disabled = true;”的 OnClientClick,它將呈現為“this.disabled = true; __doPostBack(‘Button1’, ‘’);”,一切都會按預期工作。