I have a problem with the "input tag" in non-IE browsers:
<input type="file" ...
I'm trying to write my uploader, just using JavaScript and ASP.NET.
I have no problem uploading files.
My problem occurred when I wanted to get my files in non-IE browsers with
<input type="file" ...
I do not want to use directly from input
because its appearance does not change correctly.
I wrote this code to get files from the hard disk:
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;
}
In IE it works pretty well and returns my files currently.. In Chrome And Firefox, after loading "file input dialog", it can't return any file.
And Opera and Safari are completely out.
I can fix it with this trick, but it's not good basically.
_el_upload.click();
alert();
I think a "callback" or "wait function" may fix this, but I can't handle it.