0

我正在使用 jquery 表单插件(http://malsup.com/jquery/form/)通过在后台处理的 ajax 上传文件。

上传工作正常,我正在使用 ASP.Net MVC 返回一个包含 $(document).ready 调用的部分视图,以设置一个“计时器”来检查上传文件的处理状态。当我返回包含带有 $(document).ready 调用的脚本块的部分视图时,它永远不会被触发,因此检查上传状态的“计时器”永远不会启动。

当我通过常规 $.post 调用(不上传)执行此操作时,该函数会在 html 加载到 DOM 后正确触发。调用 ajaxSubmit 函数以使其触发时,我还需要做些什么吗?

只是一个示例代码:

$('form').live('submit', function () {
                $(this).ajaxSubmit({                   
                    success: function (data) {                        
                        $('#statusDiv').html(data);                        
                    }
                });               
                return false;
            });
4

1 回答 1

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')
于 2010-05-21T04:55:34.837 回答