2014-01-21 50 views
1

我想提交表单的jQuery后实例加载图像。的jQuery加载DIV提交

我发现如何做到这一点,它的工作正常,但它始终是所有jQuery请求在页面上完成。

下面是一个例子: How can I create a "Please Wait, Loading..." animation using jQuery? 或这里 How to show loading spinner in jQuery?

有没有一种办法可以达到同样的效果,但只有当我提交表单?

或者有没有一种方法可以将它附加到特定的功能,所以它只在这些功能上运行“加载”图像?

我有一个页面上此功能(与其他jQuery的功能一样),并想请只在此功能的“加载”的形象:

<script> 
function send_temp(form) { 
    jQuery.post('editor.php?bar=<?php echo $id?>', jQuery(form).serialize(),function(data) { 
    jQuery('#editor').html(data); 
    }); 
} 
</script> 

当我提交的函数被调用形成。

感谢您的任何帮助或建议。

+0

是AJAX可用于这种特殊情况下,也必须坚持服从? –

+0

@RobsonFrançaAJAX将被罚款以及 - 理想的情况是有一个功能我可以打电话,每次我想装载机出现 - 我只是不能接缝弄清楚如何做到这一点。 – Bolli

回答

2

其他问题的答案显示了如何在AJAX执行时在页面范围内这样做。你只想在逐个表格的基础上做到这一点。

要使用现有的代码做到这一点,你可以使用jqXHR.always方法来实现由jQuery.post返回的jQuery XHR对象的函数:

function send_temp(form) { 
    // Show an element containing your spinner 
    $('#loadingSpinner').fadeIn(); 

    // Submit the form, as you were before; attach 
    jQuery.post('editor.php?bar=<?php echo $id?>', jQuery(form).serialize(),function(data) { 
     jQuery('#editor').html(data); 
    }).always(function(){ 
     // Request complete, hide the element containing your spinner 
     $('#loadingSpinner').fadeOut(); 
    }); 
} 

当请求的jqXHR.always处理程序的回调函数将被调用完成;不管它是成功还是失败。

+0

非常感谢Jakob - jqXHR.always是做什么的?出于某种原因,我的POST数据没有得到交付并且脚本混乱了一点。但去除。总是(函数()的作品! 那么它有什么作用? – Bolli