2017-09-26 7 views
0

ブラウザからfrontEndにファイルをインポートするために 'change'イベントを使用しています。つまり、ファイルブラウザでファイルがいつ選択されたかを知るために、JavaScriptコードで 'change'イベントを待っています。代替の 'change'イベント

/** 
* Select a file to import 
* 
* - fn: callback function 
**/ 
function selectFileToImport(fn) { 
    var objFile = document.createElement('input'); 
    objFile.setAttribute('type', 'file'); 

    objFile.addEventListener('change', function (e) { 
     var archivos=e.target.files; 
     var archivo=archivos[0];    
     fn(archivo);    
     }, false); 

    objFile.click(); 
} 

私の問題は、常にイベントの変更がトリガされていないので、時々ブラウザダイアログで受け入れるをクリックした後、私は何の結果を得るていない、選択したファイルのフィールドが空であることです。これは、同じファイルを選択することには関係しません(私は、「変更」メソッドは、フィールドが実際に変更されたときにのみ起動されることを知っています)。私は 'input'eventを試しましたが、うまくいきません。誰かが私に代替案を与えることができますか? enter image description here enter image description here

答えて

-1

私はjQueryを使ってあなたのための例を書いた:

スクリプト:

$("document").ready(function(){ 
$("#upload").change(function() { 
      alert('New File Uploaded!!! the file name is : ' + this.files[0].name); 
     }); 
}); 

HTML:

<input type="file" id="upload"> 

http://jsfiddle.net/emilvr/NbGBj/2345/

+0

私は、技術THAを使用していますtはJQueryを使用しませんが、あなたの答えとあなたの例に感謝します。 –