.change ведет себя странно в IE9 - PullRequest
3 голосов
/ 12 января 2012

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

<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 не распознает.Измените событие из Jquery, однако я заметил, что если показать мою форму и щелкнуть ее непосредственно, запускается функция изменения.Если я использую кнопку редактирования, чтобы активировать просмотр, то .change не работает, даже если он изменен.

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

1 Ответ

0 голосов
/ 12 января 2012

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

Попытка:

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