2015-04-23 40 views
0

我想使用YUI上傳文件。 下面是我的代碼,在Firefox和Chrome.But工作正常IE不工作8.無法獲取文件對象使用YUI IN Internext Explorer

this.portlet_view_object.delegate('change', function(e) { 
...... 
var fileField = Y.one('#newcase_file_'+context.imageCount); 

     var file = fileField._node.files[0]; 

     if(!context.maxFileSize.call(context,file)){ 
      return; 
     } 
.... 

這裏,maxFileSize爲,是我將文件對象和執行與FIEL操作的方法(例如fileSize,fileName)。 在firefox和chrome中,我通過fileField._node.files [0]獲取文件對象; 但同樣的事情在IE 8中無法正常工作,並且出現錯誤。 _node.files.0'爲空或不是對象

歡迎任何建議。

謝謝。

回答

0

此問題與YUI無關,僅適用於IE。

.files保存多個選定的文件,但IE8不支持此方法,只能選擇一個文件。因此該屬性不被識別。

您可以使用此解決方法:

if ('files' in fileField._node) 
    var file = fileField._node.files[0]; 
else 
    var file = fileField._node.value; 

或者,如果你想完全跳過整個.files,雖然我個人不會推薦它。