2014-09-18 142 views
0

我正在使用下面的代碼將值提交給我的數據庫。如何防止在窗體上單擊多個按鈕

<input id="btn_'.$temp['id'].'" value="Confirm" style="background: #409940; border-radius: 10px; color: white;" type="button" onclick="validaLink(\''.$temp['id'].'\');"> 

問題:

在2秒,多次點擊都使用相同的值提交,直到DIV潮流了。

我做了什麼:
我試圖在提交後禁用表單按鈕。但我想2個onclick事件不起作用。

建議/代碼更正請

+0

考慮尋找到使用會話和令牌http://www.phpro.org/tutorials/Preventing-Multiple-Submits.html作爲服務器側方法中,在與下面的其他意見結合使用。 – 2014-09-18 19:05:42

+4

onclick =「javascript:window.open(\''。$ temp ['shorten']。'\'); this.disabled = true;」 – 2014-09-18 19:06:35

+2

也許加上this.disabled = true;在你的window.open之後(\''。$ temp ['shorten']。'\'); – 2014-09-18 19:06:42

回答

0

下面的代碼將禁用onclick事件處理程序第一次點擊後的按鈕,還可以禁用按鈕本身。

onclick="this.onclick=null;this.disabled = true;validaLink(\''.$temp['id'].'\');" 
+0

我面臨的問題是,如果我點擊20次,按鈕消失之前。 20條記錄將被添加到db – khalil 2014-09-18 19:39:17

+0

請檢查新的代碼..早些時候我在這裏複製了錯誤的行 - – khalil 2014-09-18 19:49:52

3

試試這個

onclick="javascript:validaLink(\''.$temp['id'].'\'); this.disabled = true;" 
+0

請檢查新的代碼..早些時候我在這裏複製了錯誤的行 – khalil 2014-09-18 19:49:10

+0

好的。更正 – 2014-09-18 21:02:45

相關問題