我正在使用jquery表单插件(http://malsup.com/jquery/form/)通过ajax上传文件,该文件在后台处理。
上传工作正常,我使用ASP.Net MVC返回部分视图,其中包含$(document).ready调用以设置'timer'来检查上传文件处理状态的状态。当我返回包含ha $(document).ready call的脚本块的局部视图时,它永远不会被触发,因此检查上载状态的'timer'永远不会启动。
当我通过常规$ .post调用(没有上传)执行此操作时,在将html加载到DOM后,该函数会正确触发。在调用ajaxSubmit函数以解决此问题时,我还需要做什么吗?
只是一小段代码:
$('form').live('submit', function () {
$(this).ajaxSubmit({
success: function (data) {
$('#statusDiv').html(data);
}
});
return false;
});
答案 0 :(得分:1)
您的ASP.Net MVC部分视图加载例程可以触发回调例程吗?您可以尝试在主文档的.live()
处理程序中查看使用ready()
绑定的自定义事件。然后在部分视图回调中.trigger('custom_event')
。类似的东西:
$(document).ready( function(){
$('container_for_partial_view').live('custom_event', function(){
set_timer_and_do_stuff()
}
})
...当通过ajax加载局部视图时:
$('container_for_partial_view etc etc').trigger('custom_event')