jQuery: "change" event on file input element does not fire if the file selection is triggered by an element other than the file input

13,649

With MSIE use the onpropertychange-Event, example: http://jsfiddle.net/7wR2L/14/

As jQuery does'nt support this event you have to assign it without jquery(inline or use attachEvent )

In other browsers try using mutation-events, maybe they'll work there. See a related topic on mutation-events from yesterday, to have a little example how they work: How to capture change on page title from a firefox extension

Share:
13,649
Rudy Lattae
Author by

Rudy Lattae

Updated on June 18, 2022

Comments

  • Rudy Lattae
    Rudy Lattae almost 2 years

    RE:


    The above questions dealt with getting the 'change' event to fire consistently across browsers after a file selection has been made. This is has been resolved as evidenced by the example at http://jsfiddle.net/7wR2L/

    My situation is a tad different. It seems this issue rears its ugly head in another context.

    Based on design constraints, I have to use a non-file-input element ('a' tag) to trigger the "click" event on the file input element. So far from my tests, it looks like the file input is unable to fire a "change" notification when a file is selected in this way.

    Please take a look at the example at http://jsfiddle.net/rudylattae/7wR2L/8/

    Test environment(s):

    Windows Server 2008 R2

    • Chrome 7.0.517.44 - PASS
    • Firefox 3.6.9 - FAIL
    • IE 8.0.7600.16385 64bit - FAIL

    Windows XP Pro (2002 - SP3)

    • Chrome 8.0.552.28 beta - PASS
    • Firefox 3.5.14 - FAIL (does not even trigger the file selector)
    • IE 8.0.6001.18702 - FAIL
  • ARUN
    ARUN over 9 years
    change is working fine. but in change event if I try to submit the form using jQuery('#mediapicker #edit-submit').click(); the file field become empty and form not submitting. please help.