13 html javascript file-upload
你不能重新选择和上传同一个文件,除了在Firefox中,它错误地允许你这样做:
<input type="file" id="fileChooser">
document.getElementById('fileChooser').onchange = function () {
alert('Uploaded!');
};
Run Code Online (Sandbox Code Playgroud)
这是我解决问题的方法.我想知道是否有更简洁的方法来实现它.
<input type="file" id="fileChooser">
var fileChooser = document.getElementById('fileChooser');
fileChooser.onclick = function () {
this.value = '';
};
fileChooser.onchange = function () {
if (this.value) {
alert('Uploaded!');
}
};
Run Code Online (Sandbox Code Playgroud)
在JSFiddle上:http://jsfiddle.net/scMF6/2/
说明:
您无法连续两次重新选择同一文件foo.txt,例如,您在桌面上选择并上传,然后再次单击文件选择器,出现文件选择对话框并尝试再次选择同一文件 - 浏览器什么都不做,没有警报框出现.
您的解决方案有一个问题,选择一个文件后,当您第二次单击它时,它会清除文件输入。现在,如果用户不选择新文件并取消浏览弹出窗口,那么他的旧选择就会消失。
这不是 FF 中文件输入的默认行为。
我想如果您有一些用于上传的句柄或回调,那么您应该清除其中的文件输入。
| 归档时间: |
|
| 查看次数: |
3899 次 |
| 最近记录: |