従来の入力ファイルを JqueryFileUpload ウィジェットに置き換えようとしています。
これが私のコンテキストです:
同じフォームに 1 つ以上のファイルを入力できます。
フォームはサーバー側オブジェクトを作成するためのものです (各入力はこのオブジェクトのフィールドであり、各ファイルは作成されたメイン オブジェクトにリンクされた「リソース」オブジェクトです)。これらのオブジェクトはデータベースに保存されます。
最終ユーザーがフォームを送信したら、次のことを行います。
- 多くの検証を行う (他の入力に対して)
- すべて問題なければ、ファイルの ajax アップロードをトリガーします。サーバー側ハンドラーは、必要なリソース オブジェクトを作成します。
- すべてのアップロードが完了したら (ウィジェットのコールバックを使用してそれを知ることができます)、メイン フォーム (アクション フォームはウィジェット ハンドラーではなく、ジョブを実行してメッセージを表示するページです) を送信して、メイン オブジェクトを作成します。 : ここでファイルを送信したくはありませんが、ハンドラーがメイン オブジェクトにリンクするために私に送り返すリソース オブジェクト ID のみを送信します)。
私の問題は、fileUpload をトリガーすると、フォームが送信され、アクション フォーム ページが読み込まれることです。ハンドラーは呼び出されません。
簡単なページでテストを行いました: ウィジェットがフォーム内にない場合、正常に動作します:
<body>
<div>
<!-- The file input field used as target for the file upload widget -->
<input class="fileupload" type="file" name="files[]"/>
</div>
</body>
しかし、フォームに入れると、フォームは常に送信され、これを防ぐことはできません。
<body>
<form action="myPage.aspx">
<!-- The file input field used as target for the file upload widget -->
<input class="fileupload" type="file" name="files[]"/>
</form>
</body>
私の質問は次のとおりです。
url オプションはフォーム アクションをオーバーライドしませんか?
ウィジェットとそれを含むフォームに異なるターゲットを使用できませんか?
1 つのフォームに複数のウィジェットを配置できますか?