如何在ajax成功时重新启用提交按钮?

时间:2011-09-19 02:38:34

标签: javascript jquery ajax

发生了什么事情,我一直在两次点击提交按钮时获得双重输入。所以我试图通过禁用提交来防止这种情况。它有效,只有我不能再启用它。

我在点击时尝试禁用它,并在ajax功能成功后再次重新启用,因此它可以再次工作,可以添加更多内容。但它不起作用,它一直处于残疾状态。

$(document).ready(function(){
    $("form#postbar").submit(function() {
        var addcontbox = jQuery('#addcontbox').attr('value');

        if ( addcontbox.replace(/\s/g,"") == "" ) return false;
        $(':submit', this).attr('disabled', 'disabled');


$.ajax({
type: "POST",
url: "post.php",
data:"addcontentbox="+ addcontentbox,
success: function(){
 $("ul#wall").prepend("<li><a href='newpage.php?wall="+addcontentbox+"' target='_blank'>"+addcontentbox+"</a></li>");
$("ul#wall li:first").fadeIn();
document.postbar_add_post.addcontentbox.value='';
$(':submit', this).attr('enabled', 'enabled');
document.postbar_add_post.addcontentbox.focus();
$('#paging_container').pajinate({
    num_page_links_to_display : 5,
    items_per_page : 10 
});
}
});
return false; 
});
$('#paging_container').pajinate({
    num_page_links_to_display : 5,
    items_per_page : 5  
});
});
</script>

任何指导?

1 个答案:

答案 0 :(得分:2)

您需要删除disabled="disabled"属性,而不是设置新属性enabled="enabled"

使用.removeAttr()

$('form#postbar input[type="submit"]').removeAttr('disabled');