.менее странное в IE9

Итак, у меня есть форма отправки, настроенная таким образом

<button>edit a photo</button>
<form style="visibility: hidden;">
  <input type="file" id="file" name="file" val=""/>
  <input type="submit" name="submit">
</form>

и мой javascript выглядит так

$("#edit-button").click(function() {
  $("#file").click();
});

$("#file").change(function() {
  //submit form
});

Сначала я подумал, что, возможно, IE9 не узнает событие .change из JQuery, однако я заметил, что если показать свою форму и щелкнуть ее напрямую, функция изменения будет запущена. Если я использую кнопку редактирования, чтобы активировать просмотр, то .change не работает даже через него.

Я предполагаю, что, когда я нажимаю кнопку "Просмотр" для ввода файла, он не читается так же, как только $( "# file" ). click(). Кто-нибудь знает способ исправить это?

Ответ 1

Я предполагаю, что это происходит потому, что ваши обработчики не привязаны к невидимой форме (иногда это так).

Try:

// document or some other container
$(document).on("change", "#file", function () {
    //submit form
});