編集開始
最初のケースでは、jQuery オブジェクトで jQuery submit イベントをトリガーしています ( http://api.jquery.com/submit/を参照) 。
2 番目のケースでは、javascript オブジェクトで javascript submit メソッドを呼び出しています。submit イベントをトリガーしません。
どちらの場合も同じ「送信」ではありません。
2番目のケースで、次を置き換えると:
$('form')[0].submit();
と
$($('form')[0]).submit();
また、無限ループになってしまいます。
編集を終了
実際、plupload では、フォームを正常に送信できるようになるまで待つことがポイントです。主な機能は、StateChanged イベントへのサブスクライブです。
このように動作します:
1-最初にキューが空かどうかを確認します。そうであれば、フォームの送信を検証する (true を返す)   
2- キューが空でない場合
a- 残りのファイルのスタートアップロード b- キューをチェックする将来の「StateChanged」イベントをサブスクライブします。その時点で空の場合は、正常に合格するステップ 1 に移動します (キューはその時点で空になるため) c - フォームの送信をキャンセルします (キューは現在空ではありません)
コメント付きのコード:    
    // Client side form validation
    $('form').submit(function(e) {
        var myForm = e.currentTarget;
        var uploader = $(item).pluploadQueue();
        // if files in queue upload them first. Cancel current form submission.
        // Subscribe to 'StateChanged' to check if the queue is empty and try 
        // a new submission, each time a file is finished uploading
        if (uploader.files.length > 0) {
            // When all files are uploaded submit form
            uploader.bind('StateChanged', function() {
                if (uploader.files.length === (uploader.total.uploaded + uploader.total.failed)) {
                    myForm.submit(); // 
                }
            });
           // start uploading remaining files. 
           // End of each upload will trigger the 'StateChanged'
            uploader.start(); 
           // there are files in queue. (the reason we are running current block)
           // Cancel current form submission 
            return false;  
        }
        return true; // the queue is empty, validate current form submission
    });
これが役立つことを願っています