为什么 document.getElementById('files') 返回空值
Why does document.getElementById('files') return null?
下面的代码根本不起作用。
document.getElementById('files').addEventListener('change', handleFileSelect, false);
Firebug报告说,这个getElementById是空的,但我添加了一个文本,它正在工作.....
看来代码是正确的...
更新:这是HTML页面
<script type="text/javascript">
document.getElementById('files').addEventListener('change', handleFileSelect, false);
document.getElementById('username');
function handleFileSelect(evt) {
alert('i am called');
var files = evt.target.files; // FileList object
// files is a FileList of File objects. List some properties.
var output = [];
for (var i = 0, f; f = files[i]; i++) {
output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
f.size, ' bytes, last modified: ',
f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a',
'</li>');}
document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';}
</script>
</head>
<body>
<form>
<input type="text" id="username" />
<input type="file" id="files" />
<div id="list"></div>
</form>
</body>
</html>
这是因为您正在尝试获取一个元素,而元素本身尚未加载。您需要将 JavaScript 向下移动,在元素之后,或者在页面加载完成后将代码作为回调运行。
document.addEventListener('DOMContentLoaded', function(){
document.getElementById('files').addEventListener('change', handleFileSelect, false);
document.getElementById('username');
function handleFileSelect(evt) {
alert('i am called');
var files = evt.target.files; // FileList object
// files is a FileList of File objects. List some properties.
var output = [];
for (var i = 0, f; f = files[i]; i++) {
output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
f.size, ' bytes, last modified: ',
f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a',
'</li>');
}
document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
}
}, false);
相关文章:
- Model中的Typeahead返回空值以形成输入字段
- 为什么数据列表选项的id返回空值
- 从角度服务返回空值的变量
- 为什么 document.getElementById('files') 返回空值
- AJAX 成功:函数(响应)返回空值
- Cookie 在 IE 中始终返回空值
- 如果在过滤器中返回空值,如何显示“未找到书籍”行
- 获取返回空值的元素 { 绝对|相对|固定 }
- j查询选择选项值返回空值
- D3 albersUsa 投影函数返回空值
- Angular2:Ajax 表单数据返回空值
- 本地存储在火狐中无法按预期工作.返回空值的对象
- 访问 iFrame 中的元素返回空值
- Json 数组返回空值
- 中继:获取递归数据返回空值
- 文件上传 - 返回空值
- 为什么"document.styleSheets”;每次刷新3到5次浏览器后返回空值
- 为什么动态文本框返回空值
- JQuery Mobile Slider在事件之后返回空值
- 为什么document.getElementById返回空值