ファイルをディスクから入力ボックスにドラッグアンドドロップしている間、input type='file'要素に対して「change」イベントは発生しません。同じコードは他の主要なブラウザでも機能しますが、Firefox15以降では機能しません。
$("input[type='file']").change(
function(){
// Do form submit
}
);
同じことを達成するためのハックっぽい方法は、setTimeoutとHTML5の「drop」イベントを使用することです。
$("input[type='file']").on('drop',function(event){
this.files = event.originalEvent.dataTransfer.files;
setTimeout(function(){
// Do form submit
}, 0); // Note that the timeout is 0ms
});
これが最善の方法かどうかわからない...
PS:setTimeout(..)を使用せずにフォームを直接送信すると、FF15以降では機能しません