.jlick在ajax请求后无效

时间:2012-09-12 15:01:27

标签: jquery ajax

我正在使用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请求完成并且服务器返回时 任何表格错误,然后提交按钮没有用,请帮助我,我被卡住....

1 个答案:

答案 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
          }       
  });
});