Как стать автором
Обновить

Комментарии 19

Без рабочей демки как то пресно(

Добавил возможность скачать финальный билд, билд с проблемой с фокусом и билд с мерцанием!
Теперь добавил возможность пощупать, не бейте!
НЛО прилетело и опубликовало эту надпись здесь
А что, с 2012го успел наступить невиданный прорыв в формах передачи файлов?
Jquery протух, все используют habr.com/post/150594.
Да ну, этот фреймворк уже такой старый. Статья 2012 года и в ней написано, что браузеры уже 10 лет его поддерживают. Как минимум 22 года. Дайте человеку попользоваться чем-то современным, стильным и молодежным.
НЛО прилетело и опубликовало эту надпись здесь
Действительно, тема стара как мир. Но вместе с ней стары и сопутствующие ей проблемы. Не вижу ничего плохого в том, чтобы «переиздавать» руководства, дополняя их чем-то свежим. Например, толкового объяснения, а уж тем более решения тех багов, на которые я указал в этой статье, я в интернете, даже англоязычном, не нашел.
Ну ничего, нормальные герои всегда идут в обход
Да, с фокусом тут действительно «в обход».

Я бы просто добавил в разметку аттрибут «tabindex»:
<input id="file-input" type="file" name="file" multiple tabindex="-1">
<label for="file-input" tabindex="0">Выберите файл</label>

И никаких заумных стилей, никакой борьбы с разными браузерами, никаких js-обработчиков…
Только ни пробелом, ни enter'ом на такой label не нажать. Только мышкой.
Попробовал, не помогло, но спасибо за вариант! Добавил возможность скачать билды: попробуйте сами, может я что-то не так делаю.
Да, я все же немного накосячил, но! Фокус действительно будет появляться, вот только, как заметил monochromer выше, нажиматься метка будет только мышью.
А мы просто используем plupload.js, который может слать файлы кусками, и не выставлять max_upload_size в сотни МБ.
Ваши бы слова, да разработчикам ГИС ЖКХ в уши. Шаблоны по одному грузить — рутина. Встречая разработчиков, думающих об удобстве работы даже в таких, казалось бы, «мелочах» как-то даже вера в будущее просыпается.
Еще есть проблемы в ie9 где нет multiple и когда ajax с файлами таки не отправляется и ты используешь iframe. Еще в ie9 другой объект с файлами, там вроде размера нет и еще что-то, кто помнит напомните. Ох в свое время хлебнул для поддержки ie9 с этим полем загрузки файлов.
Firefox по каким-то неведомым причинам отказывается применять свойства к метке при фокусе на input[type=file].

Если учитывать относительно современные версии Firefox, то баг можно вылечить с помощью css-псевдокласса :focus-within.


Сам баг: https://bugzilla.mozilla.org/show_bug.cgi?id=1430196

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории