「ファイルの選択」が完了したら、アップロード ファイル フォームを送信する必要があります。
私のファイル入力は、
<input type="file" id="myfile" name="myfile" />
私のフォームは
<form id="uploadform" action="includes/upload_img.php" ......">
私はこの方法を使用しています:
- フォームと i-frame をオンザフライで作成しています (画像クリック - img.sendimage 経由)
- ファイル選択ダイアログの実行(フォームで作成)
- 選択したファイルを PHP 経由でディレクトリに送信し、
- 返されたメッセージを表示しています
しかし、「ファイルの選択ダイアログ」をトリガーしてファイルを選択すると、ファイルを選択せずにフォームが(すぐに)送信されます。
私のコードは次のようになります。
$("img.sendimage").live('click',function(){
$('<form id="uploadform" action="includes/upload_img.php" method="post" enctype="multipart/form-data" target="uploadframe" style="position: absolute;top: -1000px;">
<input type="file" id="myfile" name="myfile" />
<input type="submit" value="Submit" />
<iframe id="uploadframe" name="uploadframe" src="includes/upload_img.php" width="0" height="0" scrolling="no" frameborder="0" style="visible:false;"></iframe>
</form>').appendTo("body");
$('#myfile').click();
$('#uploadform').submit();
});
#myfile 入力が閉じられた (そしてファイルも選択された) 後にフォーム送信イベントをトリガーするにはどうすればよいですか?
注: 別のクリック イベント (ボタンをクリックしてファイルを選択し、別のボタンをクリックして選択したファイルを送信するなど) で同じ方法を使用する場合、問題はありません。動作していますが、すぐにイベントを起動しても成功しません。
ありがとうございます。