我试图阻止这个 JQuery POST 调用提交两次。尝试了几种不同的 unbind 变体,但并不完全理解。
我见过类似的问题,但他们只声明使用 unbind,而不是为什么或如何用于不同的场景。
$('.submit').click(function(){
if (error != 1 && submitted != 1 && emailError != 1) {
$(this).css('cursor', 'default');
$(this).fadeTo(0, 0.50);
submitted = 1;
if($(this).parents('form').hasClass('ajaxSend')) {
var url = $(this).parents('form').attr('action');
var fields = {};
$(this).parents('form').find(':input').each(function(){
var name = $(this).attr('name');
var value = $(this).val();
fields[name] = value;
});
$.post(url, fields).done(function(data){
$(".statusMessage").html(data);
$('.modal, .modalClose').css('margin-top' , 120 + $(document).scrollTop() + 'px');
$('.modal, .modalClose').hide();
$('.statusMessage, .modalClose').fadeTo('fast', 1);
$('.modalCover').fadeTo('fast', 0.80);
});
$('.submit').unbind('click').submit();
return false;
}
}
});