Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Angular2 input file onChange Event not working in Firefox

In Chrome and Internet Explorer my input file upload works fine, but I get an error when using in Firefox.

Extract from HTML Template

<input multiple style="display: none" type="file" (change)="onChange($event)" accept="image/*"/>

Extract from Component Class

  onChange(event: any) {

    let files = event.srcElement.files;
    ....
  }

The error message is just: TypeError: event.srcElement is undefined

Is this a bug of Firefox? What is the meaning of the dollar sign?

like image 776
Johannes Avatar asked Oct 28 '25 13:10

Johannes


1 Answers

You should be using event.target(being used by other browser) because srcElement is only being used by IE. Thereafter you could event.srcElement as an fallback(for Internet Explorer case)

var target = event.target || event.srcElement; //if target isn't there then take srcElement
let files = target.files;
like image 171
Pankaj Parkar Avatar answered Oct 30 '25 04:10

Pankaj Parkar



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!