Reputation: 65
I was hoping someone can update this JSFiddle code for me so that multiple input boxes appear for multiple selected images.
It works perfectly for for a Single image.
https://jsfiddle.net/WWNnV/609/
document.getElementById('upload').onchange = uploadOnChange;
function uploadOnChange() {
var filename = this.value;
var lastIndex = filename.lastIndexOf("\\");
if (lastIndex >= 0) {
filename = filename.substring(lastIndex + 1);
}
document.getElementById('filename').value = filename + "_date";
}
<input id="upload" type="file" multiple="multiple" />
<input id="filename" type="text" />
Any assistance will be appreciated.
Upvotes: 0
Views: 3922
Reputation: 5203
@Anoop and @dandavis were right. Without jQuery and keeping the behaviour if it's one file then something like this:
document.getElementById('upload').onchange = uploadOnChange;
function uploadOnChange() {
var text = this.value;
if (this.files && this.files.length > 1) {
var filenames = [];
for(i=0; i<this.files.length; i++) {
var filename = this.files[i].name;
var lastIndex = filename.lastIndexOf("\\");
if (lastIndex >= 0) {
filename = filename.substring(lastIndex + 1);
}
filenames.push(filename);
}
text = filenames.join();
}
document.getElementById('filename').value = text;
}
JSFiddle: https://jsfiddle.net/bartvanderwal/Lego5bcp/4/
TODO: Create multiple input instead of concatenating filenames
Upvotes: 1