停止从提交按钮发布的重复邮件

时间:2011-11-22 22:29:20

标签: jquery

嘿,基本上只是遇到以下问题,从textarea提交消息,然后单击提交按钮,以下运行...我需要禁用按钮或阻止用户单击的其他方式按钮多次,一遍又一遍地提交消息。我想我知道我在哪里出错了,它在提交之前禁用了按钮?在禁用代码的情况下,它会禁用该按钮,但不会提交消息,如果我将其删除,则提交正常。

$("#leaguesubmit").click(function(){        
 if($('#messageinput').val().length > 300 || $('#messageinput').val().length == 0 || $('#messageinput').val() == "Please enter your league message here..." ){
    return false;

}else{
$("#leaguesubmit").attr("disabled","disabled");
return true;
}
});

2 个答案:

答案 0 :(得分:0)

检查btn是否已被按下;像这样:

var isSubmited = false;
$("#leaguesubmit").click(function(){        

if(isSubmited == true) return false;
isSubmited = true;

if($('#messageinput').val().length > 300 || $('#messageinput').val().length == 0 || $('#messageinput').val() == "Please enter your league message here..." ){
    isSubmited = false
    return false;

}else{
$("#leaguesubmit").attr("disabled","disabled");

isSubmited = false;     返回true;     }     });

答案 1 :(得分:0)

你是对的;一旦'禁用'设置,表单将不会提交。在提交表单时尝试设置一些其他属性,如果再次单击该按钮作为您正在进行的验证的一部分,请检查它:

$("#leaguesubmit").click(function() {        
  if($('#messageinput').val().length > 300 
     || $('#messageinput').val().length == 0
     || $('#messageinput').val() == "Please enter your league message here..."
     || $('#leaguesubmit').attr('submitted'))
  {
    return false;
  } else {
    $('#leaguesubmit').attr('submitted', true);
    return true;
  }
});