Ошибка просмотра файлов при загрузке файлов Chrome и Firefox - PullRequest
0 голосов
/ 28 апреля 2011

Чтобы иметь полный стиль пользовательского интерфейса для загрузки формы type = "file", у меня есть поле псевдоформы (#fileName), просмотр, кнопка загрузки. У меня есть скрытая форма ниже с фактическим полем формы (#fileAttach), кнопками просмотра и загрузки. Я пытаюсь вызвать его так, чтобы, когда пользователь нажимает кнопку обзора, он запускает фактическую кнопку обзора, а затем захватывает значение пути к файлу фактического поля ввода и заполняет файл в поле псевдо ввода.

    browse = function () {
        $("#fileAttach").click();
        var file = $("#fileAttach").val();
        $("#fileName").val(file);
        }

Работает в Safari и IE. Однако в Chrome и Firefox кажется, что он перестает выполняться после того, как пользователь выбрал файл. Имя файла не передается в поле псевдоформ. Однако, если я запускаю browse () второй раз, он сразу же заполняет первый путь к файлу в поле псевдоформ, а затем создает новое окно просмотра файлов. Похоже, что Chrome / FF выполняет только первую строку функции и делает паузу. 2-я и 3-я строка выполняются, если функция вызывается снова и т. Д.

Что здесь происходит и как я могу это решить? Заранее спасибо.

1 Ответ

1 голос
/ 28 апреля 2011

Браузерам не очень нравится, когда вы запускаете диалог загрузки с помощью кода, я обнаружил.

Я всегда просто отображал свою собственную кнопку browse и абсолютно позиционировал input[type=file] поверх opacity: 0.Работает во всех браузерах.

...