У меня есть форма с файловым управлением и отдельная кнопка, которая вызывает событие щелчка в этом поле. Проблема в том, что если вы нажмете кнопку, то кнопка отправки в нижней части страницы потребует двух кликов в IE. Как я могу это предотвратить?IE, требующий нескольких кликов для отправки
В это наиболее просто форме, вот код:
HTML:
<form action="#">
<input type="file" id="myFile" />
<button id="myButton">** My Choose **</button>
<input type="submit" value="Submit" />
</form>
JavaScript:
$(function() {
$('#myButton').click(function(e) {
e.preventDefault();
$('#myFile').click();
});
});
Более образец углубленные в JSFiddle: http://jsfiddle.net/XPqQB/6/
В IE, нажав на кнопку «Мой выбор», потребуется два клика на «Отправить» на фактически post. (Обычно "Myfile" будет скрыт, но для демонстрационных целей я оставляю это видно.)
шагов тестов:
- Case 1:
- Обновить страницу.
- Нажмите «Отправить». Подтвердите отправку (через инструменты разработчика).
- Случай 2:
- Обновить страницу.
- Нажмите «Обзор ...» рядом с вводом файла, выберите файл.
- Нажмите «Отправить». Подтвердите отправку (через инструменты разработчика). (Иногда даже это требует двух щелчков мыши!)
- Случай 3:
- Обновить страницу.
- Нажмите «Мой выбор», выберите файл.
- Нажмите «Отправить». Никаких действий.
Вы также можете видеть, что в случае 2 и 3, которые иногда .click() или .submit() события не срабатывает либо.
Еще один интересный аспект этого - когда на странице имеется несколько файлов. Если их три, и вы делаете эти три раза, вам нужно нажать кнопку отправки четыре раза, чтобы отправить страницу.
Работает отлично для меня в IE10. – j08691
Хммм, я протестировал вашу скрипку в IE11, и, похоже, она работает отлично для всех трех случаев. Требуется только один щелчок на кнопке отправки. Какие версии IE вы тестировали? – HaukurHaf
Это странно, потому что я использую IE 10 без расширений, и это не позволит мне отправить. –