jQueryを使用して短時間の送信ボタンを無効にしますか?

[私はjQueryをとても使い慣れているので、何かが間違っていると私を責めないでください]

私はここで、「クリックした後に送信ボタンを無効にする」という質問をここでブラウズしています。 OKの周りにこれらのものの負荷がありますが、私は限られた時間それを無効にする方法を見つけることができませんでした。例えば20秒。

多分私は馬鹿ですが、どうですか?

[私は単純なhtml形式しか持っていない]

3

1 答え

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
追加された
this は間違っています。 jsfiddle.net/pimvdb/3FQgb/1
追加された 著者 pimvdb,
なぜそれは一度しか働かないのですか?
追加された 著者 Blazemonger,
@ karim79おそらく、 .prop を削除する代わりにfalseに設定する必要がありました。これもうまくいくようです: jsfiddle.net/mblase75/pHxF2/3 - 「無効」プロパティを削除すると、もう設定できなくなります。
追加された 著者 Blazemonger,
@ karim79はそれだった - ドキュメントから: "注:[.removeProp]を使ってチェック、無効、選択などのネイティブプロパティを削除しないでください。これでプロパティが完全に削除され、一旦削除されると再びこれらのプロパティをfalseに設定するには、.prop()を使用してください。今日私が何か新しいことを学ぶのを助けてくれた+1。
追加された 著者 Blazemonger,
私の悪い、固定 - demofied。
追加された 著者 karim79,
@ mblase75 - 完全にはわかりませんが、 .prop .removeProp を使用してください。更新され、修正されました。
追加された 著者 karim79,
@ mblase75 - あ、素敵です。
追加された 著者 karim79,
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript