2017-09-26 53 views
0

我正在使用'change'事件将文件从浏览器导入到frontEnd。我的意思是,为了知道何时使用文件浏览器选择文件,我正在等待JavaScript代码中的“更改”事件。替代'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,但感谢你的回答和你的例子。 –