Angular.js文件上传器输入onChange事件问题

时间:2014-07-23 14:53:17

标签: javascript jquery angularjs file-upload

我正在开发一个使用Angular文件上传器的项目:

template: '<input type="file" id="files" name="files[]" multiple /><output id="list"></output>',

...并为此文件上传者设置了“更改”事件监听器:

document.getElementById('files').addEventListener('change', handleFileSelect, false);

如果我的用户选择了一个文件列表,则会触发我的回调并检索文件列表。这不是问题。

然后我用文件列表填充对话框。然后,用户可以选择在完成上传之前删除一个或多个文件,也可以一起取消上传。

如果用户删除所有文件或取消上传,返回上传对话框并选择相同的文件列表,则不会触发“更改”事件侦听器,因为输入的值从未实际更改过。< / p>

有没有办法在文件上传器(输入框)的“打开”按钮上设置“点击”事件?

1 个答案:

答案 0 :(得分:2)

刚刚解决了我的问题。

在回调我的'change'事件监听器(handleFileSelect)时,我将文件上传器的值重置为“”。现在,每次选择一个文件时,无论它是否是同一个列表,都会触发“更改”事件。

document.getElementById('files').value = "";