Asp.net

(客戶端)禁用送出按鈕的最佳方法是什麼?

  • October 30, 2008

細節:

  • 僅在使用者點擊送出按鈕後,但在回發到伺服器之前禁用
  • ASP.NET 網路表單 (.NET 1.1)
  • 更喜歡 jQuery(如果有的話)
  • 如果表單重新載入(即信用卡失敗)必須啟用

這不是我這樣做的必要性,但如果有一種簡單的方法可以做到這一點而不必做太多改變,我會這樣做。(即如果沒有簡單的解決方案,我可能不會這樣做,所以不用擔心挖得太深)

對於所有送出按鈕,通過 JQuery,它將是:

$('input[type=submit]').click(function() { this.disabled = true; });

或者在表單送出時這樣做可能更有用:

$('form').submit(function() {
   $('input[type=submit]', this).attr("disabled","disabled");
});

但我認為,如果我們對上下文有更多了解,我們可以更好地回答你的問題。

如果這是一個 ajax 請求,那麼您需要確保在成功或失敗時再次啟用送出按鈕。

如果這是一個標準的 HTTP 表單送出(除了使用 javascript 禁用按鈕之外),並且您這樣做是為了防止同一表單的多次送出,那麼您應該在處理程式碼中進行某種控制送出的數據,因為使用 javascript 禁用按鈕可能不會阻止多次送出。

引用自:https://stackoverflow.com/questions/46079