加载图像和按钮禁用无效

时间:2013-04-29 05:22:20

标签: jquery jquery-forms-plugin

我试图在点击后禁用按钮并想要显示处理图像, 但它不起作用。我的代码如下:

$('#own_message_post').ajaxForm(function(data) {

    $("#loading_img").css("visibility", "visible");
    $('#submit_form_button').attr("disabled", true);
    $('#own_message_post').append('<img src="images/loader.gif" alt="posting" id="message_post_loading_img" style="text-align: center"/>'); 
    $('#messages').prepend(data);
    $('#text_message').val("");
    $('#fileupload').val("");
    $('#submit_form_button').removeAttr('disabled');
    $('#message_post_loading_img').remove();

}); 

2 个答案:

答案 0 :(得分:0)

我认为您没有正确使用ajaxForm,它接受​​Options Object,而是传递function

在你的案例中会起作用的是:

$('#own_message_post').ajaxForm({
  beforeSubmit: function() {
    // Here you can do the things that need doing before the form is submitted
    $('#submit_form_button').prop("disabled", true);
    $('#own_message_post').append('<img src="images/loader.gif" alt="posting" id="message_post_loading_img" style="text-align: center"/>');
  },
  success: function(){
    // Here you can do the things that need doing when all is done
    $('#submit_form_button').prop("disabled", false);
    $('#message_post_loading_img').remove();
  }
});

由于看起来您正在上传文件,因此查看uploadProgress回调可能会很有用,这可能会传回有关上传进度的信息。

答案 1 :(得分:0)

从jquery 1.6开始使用prop()

  $('#submit_form_button').prop("disabled", true);

 $('#submit_form_button').prop("disabled", false);

而不是

$('#submit_form_button').removeAttr('disabled');