我正在使用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请求完成并且服务器返回时 任何表格错误,然后提交按钮没有用,请帮助我,我被卡住....
答案 0 :(得分:2)
我建议您在文档上收听提交事件,而不是单击处理程序。
$(document).on('submit','form',function(e){
e.preventDefault();
$.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) {
// come code
}
});
});