我正在使用 jQuery 1.7.2 版本,我正在使用 Ajax 提交我的表单
$("input#addPostSubmit").click( function(){
$.ajax({
//this is the php file that processes the data and send mail
url: BASE_URL+"post/ajaxcreate",
//POST method is used
type: "POST",
//pass the data
data: $("#addImage").serialize(),
//Do not cache the page
cache: false,
//success
success: function (html) {
var obj = jQuery.parseJSON(html);
if(obj.Status == 'Success'){
$("#error").removeClass('hide');
$("#error").addClass('success');
$("#error").html(obj.Message);
$.fn.colorbox.resize();
setTimeout(function(){$.fn.colorbox.close()},5000);
window.parent.location.reload();
}
if(obj.Status == 'Fail'){
$('.add_post_submit').html('<input type="button" id="addPostSubmit" value="Create" />');
$("input#addPostSubmit").removeAttr('disabled');
$("#error").removeClass('hide');
$("#error").addClass('error');
error = obj.Message.split(';');
html = '<ul>';
for(a=0;a<error.length;a++){
html += '<li>'+error[a]+'</li>';
}
html += '</ul>';
$("#error").html(html);
$('html').css({overflow: 'hidden'});
$.fn.colorbox.resize();
}
}
});
});
例如,在表单字段之一上不允许使用 null。当服务器验证表单并返回错误时,我会显示它,当我再次单击该按钮时它不起作用。
它工作正常,但问题是当 ajax 请求完成并且服务器返回任何表单错误然后提交按钮不起作用时。