2016-05-06 19 views
1

我正在使用react.js,並使用文件類型和下面的onChange事件製作輸入標籤。爲什麼我的變化事件在ie9上返回空?

<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

原因是IE9不支持文件輸入類型。請使用 www.caniuse.com 檢查該瀏覽器是否支持特定事物

+0

感謝的答覆,可以INOUT類型的訪問文件的任何其他解決方案在ie9? – Dreams

+0

請參考此問題在計算器中。 http://stackoverflow.com/questions/16114024/how-to-make-ie8-9-submit-input-type-file-when-javascript-triggered-dialog-open –

0

嘗試使用onclick而不是onchange。 IE瀏覽器上的變化並不支持

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">

我認爲這將正常工作,在IE工作10

+0

謝謝,但我需要ie9 – Dreams

+0

你可以檢查也可能在IE9上工作。 –

相關問題