ダブルクリックを防ぎ、実際に適切にクリックされたことを明確にするために、クリックされたときにフォームに JQuery UI 送信ボタンがあります。
だから私はjQueryを使ってこれを行います:
$('input:submit').click(function() {
$(this).button('disable');
});
動作しますが、問題は、ユーザーが戻るボタンを押したときに無効のままになることです。クリックしたときに送信ボタンを無効にする適切な方法は何ですか? 私は明らかに jQuery を使用しているので、好みは jQuery を使用することです。
更新:多くの人が$(document).ready(function() {$('input:submit').button('enable');});
、この永続的なボタンの無効化を克服するために使用することを提案しました。ボタンの初期化呼び出しの前に来ると、うまくいかないことがわかりました$(function() {}
。$(function() {})
しかし、セクション内であっても、ボタンの初期化コードの後にそのボタン('enable') を配置すると
しかし今、このボタン全体を無効にする機能は Firefox でしか機能しないことに気付きました! ボタンを無効にすると、IE と Chrome でフォームが送信されません (他はテストしていません)。
更新 2 : 一部のブラウザーがこれらの回避策を使用して送信できないことを少し心配していましたが、ようやくこれが機能するようになりました...これが私の最終的なコードです。潜在的な問題の意見を聞きたいです:
$(function() {
$('input:submit').button().click(function() {
$(this).button('disable');
$(this).closest('form').submit();
return false;
});
$('input:submit').button('enable');
});