Internet Explorer 11 fires the onchange event of a file input field when resetting it's value programmatically
HTML
<h3>XXX Explorer 11 fires the onchange event of a file input field when resetting it's value programmatically</h3>
<form>
<hr />
<p>Select a file and you will receive an alert once on modern browser and twice on IE11.</p>
<p><input id="fileField" type="file" /></p>
<hr />
<p>Type anything and remove the focus from the field, you will receive an alert once on all browsers.</p>
<p><input id="textField" type="text" /></p>
<hr />
<p>See issue at <a href="https://www.drupal.org/node/2301527">https://www.drupal.org/node/2301527</a></p>
</form>
JavaScript
document.getElementById('fileField').onchange = onChange;
document.getElementById('textField').onchange = onChange;
function onChange(e) {
alert(JSON.stringify(document.getElementById('fileField').files));
this.value = '';
}