2016-03-24 17 views
2

ユーザーがファイルを選択してアップロードできるシンプルなWebアプリケーションがあります。 アップロードに失敗すると、アップロードを2回以上試行します。ファイルを選択前の選択と同じファイルで選択してください

入力時に変更イベントが発生すると、アップロードプロセスが開始されます。私はのファイルを選択するたびにとしたいのですが、の行で同じファイルを2度選択しても、が選択されます。 (理由はありますが、ここでは関係ありません)

ただし、同じファイルを再度選択すると、変更イベントは発生しません。これは、ファイル入力が以前は空だったか、別のファイルを指していた場合にのみ発生します。

変更を必要としない関数をバインドできる「ファイルが選択されました」というイベントはありますか?

プレーン.jsは問題なく、jQueryは既にプロジェクトに読み込まれています。

「ファイルが選択されました」のようなものを探していますが、私にはわかりません。

reportEvent = function() { 
 
    $('.form-box').append(
 
    '<p>The input change event fired for' + $('#fi').val() + '</p>' 
 
); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="form-box"> 
 
    <input type="file" id="fi" onchange="reportEvent()"> 
 
</div>

+2

http://stackoverflow.com/questions/12030686/html-input-file-selectionの重複を-event-not-firing-on-same-file-upon-same-file – llamerr

答えて

1

これは役立つかもしれない:

reportEvent = function() { 
 
    $('.form-box').append(
 
    '<p>The input change event fired for' + $('#fi').val() + '</p>' 
 
); 
 
    
 
    // Do some work here... 
 

 
    $('#fi').val(''); // Reset file input to the initial state, so you can upload the same file again 
 
}

+0

それで簡単! 私は自分自身がFile APIがこれをやめないと確信していました。私は間違っていた、天に感謝する。 – daveyfaherty

関連する問題