2013-06-03 164 views
1

我有一個提交按鈕,使用jQuery發佈,然後回發,如果有任何錯誤,但如果我添加attr('disabled','disabled');,以避免用戶單擊兩次以上(後兩次)以某種方式禁用該按鈕不起作用。請參閱fiddle.net以編程方式禁用按鈕

+0

它的工作原理,但你的代碼是相當差。我在http://jsfiddle.net/j08691/zMKg5/2/簡化了你的例子。你的代碼禁用按鈕甚至沒有設置,直到第一次點擊按鈕,但你可以看到,點擊#2它的作品。那,你應該通過'.attr()'使用'.prop()'。 – j08691

+0

thx很多!它現在可以工作,但有一個問題,如果PHP發現任何錯誤,我有錯誤後發佈,但按鈕已禁用,任何方式來解決這個問題? – user2178521

+0

不是沒有看到您的其他代碼。 – j08691

回答

2

使用.prop()

.prop("disabled", true); 

此外,在小提琴的左側啓用jQuery的。

更新:http://jsfiddle.net/tymeJV/zMKg5/1/

+0

但是請注意,禁用提交按鈕可以阻止提交表單 – mplungjan

+1

'.attr('disabled','disabled')'沒有什麼問題,它們在這種情況下(幾乎)是一樣的是微不足道的)。主要的問題是'document.ready'上缺少事件處理函數定義。 – qJake

+0

我試過了,它不工作,如果我點擊非常快(很多次),它仍然在我的數據庫中創建2個文章 – user2178521

1

哇,很多的問題。

  • 您沒有將jQuery加載到您的小提琴中。
  • 您需要在使用它們之前定義事件處理程序,最好在頁面準備好$(function() { ... });之後。
  • 您可以使用.click(),因爲您正在禁用該按鈕,這使代碼更易於閱讀。

叉工作代碼:http://jsfiddle.net/TLEG4/

+0

sry我沒有複製所有代碼,我只是儘量保持簡單,我已經準備好了功能 – user2178521

+0

@ user2178521在使用它之前,您仍然需要定義事件。 – qJake