how I can delete value from FormData object with same name? I have HTML form with two input files.
<input id="human" type="file" name="file[]" class="docfiles" />
<input id="animal" type="file" name="file[]" class="docfiles" />
For example I want to delete file 1 - with id "human". Any idea how to do this?
Here my demo jsfiddle.
delete() The delete() method of the FormData interface deletes a key and its value(s) from a FormData object. Note: This method is available in Web Workers.
Manipulate the array of files and re-add the elements minus the one needed to be removed.
var files = formData.getAll("file[]");
files.splice($("[type='file']").index($("#animal")), 1);
formData.delete("file[]");
$.each(files, function(i, v) {
formData.append("file[]", v);
});
Demo https://jsfiddle.net/nnte528L/
You can delete the entire file list by setting the value property of the input object to an empty string.
document.getElementById('human').value = "";
If you are using FormData, you can also have
ForEach(var key in formData.keys()){
formData.delete(key);
}
This will iterate through all keys in formData and delete all the key value pairs.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With