我正在使用react.js并创建一个带文件类型的输入标记,以及一个onChange事件,如下所示。
<input type="file" onChange={this.handleFileChange}/>
在Chrome浏览器中,handleFileChange函数内部的一切正常,我也可以访问该事件以获取如下文件信息
handleIDPosUploadChange: function(e) {
console.log(e.target.files[0]);
}
然而,在ie9我无法访问事件,它返回
Unable to get value of the property '0' : object is null or undefined
我在ie9的控制台中查看,似乎e.target是{}。
为什么会这样? ie9是否支持变更事件?
答案 0 :(得分:0)
原因是IE9不支持文件输入类型。请用 www.caniuse.com 检查该浏览器是否支持特定内容
答案 1 :(得分:0)
尝试onclick而不是onchange。 IE不支持更改
答案 2 :(得分:0)
<script>
var openFile = function(event) {
var input = event.target;
var reader = new FileReader();
reader.onload = function(){
var dataURL = reader.result;
alert(input.files[0].name);
//var output = document.getElementById('output');
//output.src = dataURL;
};
reader.readAsDataURL(input.files[0]);
//reader.readAsText(input.files[0]);
};
</script>
<input onchange="openFile(event)" type="file">
&#13;
我认为在IE 10中工作会很好。