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 に答える