我有一個大型表單,它使用jQuery表單和jQuery驗證器插件發佈。 表單非常大,當您按下提交按鈕時,發生任何事情都需要一段時間。 爲了防止有人點擊提交按鈕多次,我使用的document_ready功能如下:在點擊時禁用submitbutton太慢,延遲
$('#submitbutton').click(function(){
$(this).attr("disabled", "disabled");
$(this).parents('form').submit();
});
這是按鈕: <input id="submitbutton" type="button" value="Заказать!" />
這並禁用按鈕,而不是立即,但僅在提交發生之前,這不是我想要的。 什麼是最好的方法來立即禁用按鈕?
我讓某人按了5或6次按鈕,這使得一團糟(這是我爲內部使用而寫的簡單訂單)。有了這個延遲,很難採取任何其他措施來防止在客戶端反覆發佈完全相同的數據。
總之,應該有解決這個問題的客戶端太優雅的方式......
現在我只能解決它在服務器端。 (無論如何都應該這樣做)。
該按鈕是一個提交按鈕,我只是將類型更改爲按鈕。我把它放在問題中。它沒有加速任何事情;( – Lexib0y
我現在正在研究在驗證器運行之前禁用按鈕的最佳方式。到目前爲止我發現的最佳方式是向驗證器添加一個函數。但據我所知,這意味着它將被執行所有的數據字段。 (這不是我想要的,或者應該想:)) – Lexib0y
最後,我通過給表單一個唯一的數字並檢查服務器端(php)的重新提交來解決它。一般來說這是一個很好的措施。迄今爲止所有其他方法似乎都不是很好的證明。 – Lexib0y