在ajax提交表单时显示消息

时间:2014-03-27 16:47:52

标签: jquery ajax progress-bar

使用此代码提交表单

$.ajax({
    type:'GET', 
    data:fields,
    url:'new/addcomm.php',
    success:function(feedback){
        reload();
        // alert (feedback);
    }
});

现在。如果ajax提交表单,我如何显示请等待gif,假设我希望它显示在

<div id="working"></div>

由于

4 个答案:

答案 0 :(得分:2)

使用ajax的beforeSendcomplete设置。 Documentation

试试这个:

$.ajax({
    type:'GET', 
    data:fields,
    url:'new/addcomm.php',
    beforeSend: function() {
        $('#working').show();
    },
    complete: function() {
        $('#working').hide();
    },
    success:function(feedback){
        reload();
        // alert (feedback);
    }
});

答案 1 :(得分:1)

<div id="working"><img src="loader.gif" style="display:none;"/></div>


$.ajax({
    type:'GET', 
    data:fields,
    url:'new/addcomm.php',
    beforeSend: function(){
       $('#working img').show();  
    }, 
    complete:function(){
       $('#working img').hide();     
    },
    success:function(feedback){
        reload();
        // alert (feedback);
    }
});

答案 2 :(得分:1)

您可以像这样使用ajaxStart和ajaxStop

//show image when clicks on submit button
$('form').ajaxStart(function() {
  $('#working').show();
});

//hide image when ajax request stop
$('form').ajaxStop(function() {
  $('#working').hide();
});

希望这有帮助!

答案 3 :(得分:0)

以下是

HTML

<div id="working"><img src="loader.gif"/></div>

CSS

#working { display: none; }

JS:

var $loader = $('#working');
$loader.show();
$.ajax({
    type:'GET', 
    data:fields,
    url:'new/addcomm.php',
    success:function(feedback){
        reload();
        $loader.hide(); //or .fadeOut();
    }
});

或尝试beforeSend

var $loader = $('#working');
$.ajax({
    type:'GET', 
    data:fields,
    url:'new/addcomm.php',
    beforeSend: function(){
       $loader.show();
    },
    success:function(feedback){
        reload();
        $loader.hide(); //or .fadeOut();
    }
});