2015-04-06 26 views
-1

我必須通過AJAX請求在服務器上上傳文件。 我已經創建了該功能,並在IE 10,11上工作,但不幸的是它現在在IE9上工作。 var file = inputTypeElmnt; file.files [0];如何在IE9中獲取文件

IE 9不支持file.files。 這有什麼替代方法。

回答

0

有一種解決方案,其中涉及使用隱藏iframe,基本上你將表單的目標設置爲iframe然後提交表單。

var form = document.querySelector('#test'); 
form.addEventListener('change', change); 
function change(event){ 
    var iframe = document.createElement('iframe'); 
    iframe.name = 'iframex'; 
    form.target = iframe.name; 
    iframe.style.width = 0; 
    iframe.style.height = 0; 
    document.body.appendChild(iframe); 
    iframe.addEventListener('load', load); 
    form.submit(); 
} 
function load(event){ 
    alert(this.contentWindow.document.body.textContent); 
} 

http://jsfiddle.net/mowglisanu/memc6qnq/1

,或者你可以只使用類似https://github.com/blueimp/jQuery-File-Upload(這很可能會做同樣的事情)

+0

感謝的人。它的工作。 :) 我剛剛加入 \t form.action = \t strUrl; \t form.method \t = \t「POST」; –