2011-07-08 10 views

答えて

3

これはChromeの既知の機能であり、すばやくGoogle on the topicで興味深い議論が展開されます。

それは何も、あなたが正確に何を求めている、あなたの質問については(あなたが同じファイルを選択している)

を変更していないので、changeイベントを発生しないことを私には理にかなって?あなたはこの振る舞いを変える方法を探していますか、それとも私たちもこれに気付いたかどうかだけ知りたいのですか?

この現象を回避したい場合は、Javascriptで新しいファイル入力を作成し、以前のものを置き換えることができます。この方法であなたのchangeイベントが発生する必要があります。

+4

をユーザーが、私は意志同じファイルを選択しますので、もし実際に、私はちょうど空の文字列に入力値を設定し、それをリセットイベントを取得します。私はあなたがこれが期待どおりに動作することに同意しないと言わなければならない。ユーザーがファイル(同じファイルであってもファイル)を選択したことを通知する必要がありますが、この方法では、このアクションが発生したことがわかりません。 – Amir

3
function resetFileInput($element) { 
    var clone = $element.clone(); 
    $element.replaceWith(clone); 
} 

そして使用:

私のためによく働い
$('#element_id').on('change', function(){ 
... 
}); 

0

私のためにうまく機能し、入力ファイルをリセットする簡単な解決策:

document.getElementById('idOfInput').value = ''; 
+0

ファイル入力が 'readonly'とマークされているので、これはIE(IE8-IE11 +)では機能しません。別の方法は[フォームにラップしてフォームをリセットする]ことです(http://stackoverflow.com/a/14587296/1030702)。 – Bob

関連する問題