jquery .submit() メソッドの使用方法について混乱があると思います。jquery docsから:
submit イベントは、ユーザーがフォームを送信しようとしたときに要素に送信されます。要素にのみアタッチできます。<input type="submit">
明示的な、
<input type="image">
、またはをクリックするか<button type="submit">
、特定のフォーム要素にフォーカスがあるときに Enter キーを押すと、フォームを送信できます。
これが意味することは、このメソッドが実際に行うことは、フォームの送信イベントを処理することだけだということです。イベントをキャンセルすると、ファイルのアップロードがキャンセルされます。間にはありません。ファイルのアップロードを許可しているか、フォームの送信 (アップロード) を完全にキャンセルしています。また、.preventDefault() を使用するには、次のようになります。
$('#button').click(function() {
$('#form').submit();
});
$('#form').submit(function(e) {
e.preventDefault();
// could also use return false; as a previous poster
// suggested but I have found e.preventDefault() to be more reliable
});
あなたがやろうとしていることを達成するために、いくつかのサードパーティのプラグインを調べる必要があるかもしれません. そのようなプラグインの 1 つがUploadifyです。