Php 用户双击提交创建2篇文章

Php 用户双击提交创建2篇文章,php,jquery,Php,Jquery,我有一个web应用程序可以让用户创建post并写入DB $.post('add.php',{title:post.title.value,...} 但我有一个问题,当用户双击提交按钮,它创建了2个职位。文件变成查询两次,是解决这个问题的任何方法。(我使用jquery Post发送到下一个文件并写入数据库) 您可以使用javascript在第一次单击后禁用该按钮。这样,您就不会有任何重复发布。您可以使用javascript在第一次单击后禁用该按钮。这样你就不会有任何双重职位 $('#button

我有一个web应用程序可以让用户创建post并写入DB

$.post('add.php',{title:post.title.value,...}
但我有一个问题,当用户双击提交按钮,它创建了2个职位。文件变成查询两次,是解决这个问题的任何方法。(我使用jquery Post发送到下一个文件并写入数据库)


您可以使用javascript在第一次单击后禁用该按钮。这样,您就不会有任何重复发布。

您可以使用javascript在第一次单击后禁用该按钮。这样你就不会有任何双重职位

$('#buttonId').click(function() {
   $(this).attr('disabled', 'disabled');
});

快乐编码:)


快乐编码:)

在单击或提交处理程序上,您可以禁用如下按钮:

$('#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);
  });

})

编辑:如上所述,您还可以在JQuery对象上使用
.prop
,而不是
.attr

在单击或提交处理程序上,您可以禁用如下按钮:

$('#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);
  });

})

编辑:如上所述,您也可以在JQuery对象上使用
.prop
,而不是
.attr

我只需单击3次,它就会创建3条帖子,这意味着。。。如果你点击4次,那么你会得到4篇帖子!?我只需点击3次,就可以创建3个帖子,这意味着。。。如果你点击4次,那么你会得到4篇帖子!?使用.prop()及其完善我尝试了这一点,但如果我非常快(多次)单击,它仍然会使用
$.ajax
函数发布两次,其中包含
成功
错误
回调,在这些回调中,您可以再次启用按钮。下面是文档:use.prop()及其完善版我尝试了一下,但是如果我非常快(多次)单击,它仍然会使用
$.ajax
函数和
success
error
回调发布两次,在这些回调中,您可以再次启用按钮。以下是文件: