JQuery ile kısa bir süre için gönder düğmesini devre dışı bırakılsın mı?

[JQuery için oldukça yeniyim, bu yüzden yanlış bir şey alırsam beni suçlamayın]

Burada SO hakkında sorulara göz atıyorum: "Tıklamadan sonra gönder düğmesini devre dışı bırak". Tamam, bu şeylerin etrafında bir sürü var, ama sınırlı bir süre için nasıl devre dışı bırakılacağını bulamadım. Örneğin. 20 sn.

Belki ben aptalım ama nasıl?

[Sadece basit bir html formum var]

3

1 cevap

var enableSubmit = function(ele) {
    $(ele).removeAttr("disabled");
}

$("#submit").click(function() {
    var that = this;
    $(this).attr("disabled", true);
    setTimeout(function() { enableSubmit(that) }, 1000);
});

Demo: http://jsfiddle.net/pHxF2/2/

16
katma
bu yanlış yönlendiriyor. jsfiddle.net/pimvdb/3FQgb/1
katma yazar pimvdb, kaynak
Neden bu sadece bir kez çalışıyor?
katma yazar Blazemonger, kaynak
@ karim79 belki de .prop 'i kaldırmak yerine false' ye ayarlamanız gerekiyordu - bu da işe yarayacak gibi görünüyor: jsfiddle.net/mblase75/pHxF2/3 - 'Engelli' özelliğini kaldırmayı düşünürseniz, artık bunu ayarlayamazsınız.
katma yazar Blazemonger, kaynak
@ karim79 bu oldu - dokümanlar: "Not: İşaretli, devre dışı veya seçili gibi yerel özellikleri kaldırmak için [.removeProp] kullanmayın. Bu özellik tamamen kaldırılacak ve kaldırıldıktan sonra tekrar eklenemez. Bu özellikleri false olarak ayarlamak için .prop() öğesini kullanın. Bugün yeni bir şey öğrenmeme yardımcı olmak için +1.
katma yazar Blazemonger, kaynak
Benim kötü, sabit - ve demofied.
katma yazar karim79, kaynak
@ mblase75 - tamamen emin değil, ama .prop ve .removeProp ile ilgili bir şey. Güncellendi ve sabit.
katma yazar karim79, kaynak
@ mblase75 - ah, güzel.
katma yazar karim79, kaynak