为什么我的on change事件在ie9上返回空?

时间:2016-05-06 05:26:18

标签: javascript reactjs

我正在使用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是否支持变更事件?

3 个答案:

答案 0 :(得分:0)

原因是IE9不支持文件输入类型。请用 www.caniuse.com 检查该浏览器是否支持特定内容

答案 1 :(得分:0)

尝试onclick而不是onchange。 IE不支持更改

答案 2 :(得分:0)

&#13;
&#13;
<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;
&#13;
&#13;

我认为在IE 10中工作会很好。