文件我有在非IE瀏覽器如何從<INPUT TYPE = '文件' ... />(間接)的JavaScript
「輸入標籤」 的問題<input type="file" ...
我想寫我的上傳者,只是使用JavaScript和asp.net。
我沒有問題上傳文件。
我的問題發生。當我希望得到我的在非IE瀏覽器中的文件與
<input type="file" ...
我不想直接從input
使用,因爲它的外觀不會改變正確
我寫了這個代碼從硬盤獲取文件:
function $tag(_str_tag) {
return document.getElementsByTagName(_str_tag);
}
function $create(_str_tag) {
return document.createElement(_str_tag);
}
function $open_file() {
_el_upload = $create("input");
_el_body = $tag("body")[0];
_el_upload.setAttribute("type", "file");
_el_upload.style.visibility = "hidden";
_el_upload.setAttribute("multiple", "multiple");
_el_upload.setAttribute("position", "absolute");
_el_body.appendChild(_el_upload);
_el_upload.click();
_el_body.removeChild(_el_upload);
return _el_upload.files;
}
在IE中它工作得很好,並返回我目前的文件; 在Chrome和Firefox中,加載「文件輸入對話框」後,它不能返回任何文件。 和Opera和Safari完全不在一起。
我可以用這個技巧修復它,但它基本上不好。
_el_upload.click();
alert();
我認爲「回調」或「等待功能」可能會解決這個問題,但我無法處理它。
你的意思是「它的外觀沒有改變」你想做什麼? –
您需要使用''元素的'onchange'事件。在你選擇一個文件之前發生'return _el_upload.files'。 –
hi @RocketHazmat thx回覆:我打算在我的CMS中創建我自己的用戶界面,並且我對 design有問題;我不想看到一個名爲「文件上傳」按鈕附近的文本框 –