how to reset (clear) file input how to reset (clear) file input javascript javascript

how to reset (clear) file input


If fileInputElement is on its own in the form fileInputForm, you can do:

window.fileInputForm.reset();

Otherwise for IE you'll have to replace the element with a clone:

fileInputElement.parentNode.replaceChild(    fileInputElement.cloneNode(true),     fileInputElement);


SOLUTION

The following code worked for me with jQuery. It works in every browser and allows to preserve events and custom properties.

var $el = $(fileInputElement);$el.wrap('<form>').closest('form').get(0).reset();$el.unwrap();

DEMO

See this jsFiddle for code and demonstration.

LINKS


Cross-Browser solution by @Gyrocode.com in vanilla JS:

var clearFileInput = function (input) {  if (!input) {    return;  }  // standard way - works for IE 11+, Chrome, Firefox, webkit Opera  input.value = null;  if (input.files && input.files.length && input.parentNode) {    // workaround for IE 10 and lower, pre-webkit Opera    var form = document.createElement('form');    input.parentNode.insertBefore(form, input);    form.appendChild(input);    form.reset();    form.parentNode.insertBefore(input, form);    input.parentNode.removeChild(form);  }}