Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to remove individual values from an file input multiple element?

I'm trying to remove or somehow nullify a single value in a single input for multiple files. Let's say we have four values...

<input id="input" multiple="multiple" type="file" />
input = document.getElementById('input');
// So our four files are:
input.files[0];
input.files[1];
input.files[2];
input.files[3];

if I wanted to remove [1] from the array without disrupting the others, can I do it? I've tried splicing, setting the value to NULL, changing the name etc. None of this stuff seems to work (while the element remains readonly = false) Jquery's remove function removes the entire element so that doesn't work. Any help is greatly appreciated!

like image 342
Gabriel M Sharp Avatar asked Aug 17 '11 21:08

Gabriel M Sharp


People also ask

How do I remove one specific selected file from multiple files?

Press and hold the CTRL key as you select multiple files to delete. To select a long list of files click the first file in the list, press and hold SHIFT, then click the last file in the list.

How do we remove file from the input file filed?

One way to remove a file from a JavaScript FileList is to use the spread operator to convert the FileList to an array. Then we can call splice to remove the file we want. We add multiple to let select multiple files. We get the file input element with getElementById .

How do you delete selected files in HTML?

text(Object. keys(clon). length + " file(s) selected"); }); }); function BorrarFile(id){ // handling file deletion from clone jQuery("#file"+id). remove(); // remove the html filelist element delete clon[id]; // delete the entry removedkeys++; // add to removed keys counter if (Object.


2 Answers

It’s readonly.

like image 180
Josh Lee Avatar answered Sep 18 '22 05:09

Josh Lee


I'm curious to why splice does not work. Normally it's very easy to do this:

var list = [4,5,6];
list.splice(1,1);
console.log(list); // [4,6]

So if this doesn't work, I'd like to know what the results are.

Edit

Btw, you need to use:

var input = document.getElementById('input');

You have to declare your variables with 'var'.

like image 32
Luwe Avatar answered Sep 18 '22 05:09

Luwe