when I use my input button to browse for the file on the user computer it works on FF, IE9 and Chrome. But when I am passing the files to the JS function in IE9 I get undefined, while it works perfectly in FF and Chrome.
<form id="uploadForm" style='display:none;padding:1px;' method="post" enctype="multipart/form-data">
<input type="file" name="data" id="inFile" size="15" style="display:none" onchange="handleFiles(this.files)"/>
function handleFiles(files){
//doing something with the files
}
//In IE files is undefined
I have also tried to use
dojo.connect(dojo.byId("uploadForm").data, "onchange", function(evt){
handleFiles(this.files);
});
<form id="uploadForm" method="post" enctype="multipart/form-data">
<input type="file" name="data" id="inFile" size="15" style="display:none"/>
This.files comes undefined again
thanks
Well obviously files is not defined in IE. See here for how to do it with IE.
IE9 does not support multiple files upload and it does not have
files
property. You will have to rely onvalue
property and parse a filename from the path it provides.My solution:
Pass
this
instead ofthis.files
intohandleFiles()
function:Start your
handleFiles()
function like this:See working example at jsFiddle: http://jsfiddle.net/phusick/fkY4k/