ユーザーが投稿を作成してDBに書き込むことができるWebアプリケーションがあります
ただし、ユーザーが送信ボタンをダブルクリックすると問題が発生し、2 つの投稿が作成されます。ファイルが 2 回クエリになるのは、この問題を解決する方法です。(私はjquery Post to next fileを使用してDBに書き込みます)
$.post('add.php',{title:post.title.value,...}
クリックまたは送信ハンドラーで、次のようにボタンを無効にできます。
$('#add_button').click(function() {
$(this).attr('disabled', true);
// Do your post stuff
$.post('add.php', {}, function(data) {
// Enable the button after the post, or on your success function
$(this).attr('disabled', false);
});
})
編集: @roasted が述べたように、JQuery オブジェクト.prop
の代わりに , を使用することもできます。.attr
JavaScriptを使用して最初のクリック後にボタンを無効にします。そうすれば二重投稿はなくなります。