複数のファイルを入力していて、その変更イベントを処理するためにJavaScriptを使用しています。問題は、あるファイルを選択してから同じ名前の別のファイルを選択すると、変更が適用されないことです。
他に使えるイベントはありますか?私の他の唯一のアイデア(JavaScriptでファイル入力値をクリアできないため)は、DOMから要素を削除し、フォームが送信されたら新しい要素を作成することです。
複数のファイルを入力していて、その変更イベントを処理するためにJavaScriptを使用しています。問題は、あるファイルを選択してから同じ名前の別のファイルを選択すると、変更が適用されないことです。
他に使えるイベントはありますか?私の他の唯一のアイデア(JavaScriptでファイル入力値をクリアできないため)は、DOMから要素を削除し、フォームが送信されたら新しい要素を作成することです。
JQueryを使用してバインドする場合
$('#yourIdOfInputFile').bind('change',function() {
//here goes your code
});
その後、トリガーされます-常に!
これは、Firefox ではなく IE と Chrome で発生しています。ファイルが同じ場合、変更イベントは発生しません。ファイルが変更されるたびに新しい入力を作成することをお勧めします。この回避策は単にinput
新しい空の入力に置き換えるだけなので、2 回目にファイルが選択されると、ファイルが何であれ、change
イベントが発生します。
http://browser.colla.me/show/file_input_triggers_no_change_event_if_file_names_are_the_same