За последние 24 часа нас посетили 17536 программистов и 1724 робота. Сейчас ищут 1610 программистов ...

input type=file

Тема в разделе "JavaScript и AJAX", создана пользователем vlad-net, 21 сен 2006.

  1. vlad-net

    vlad-net Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    42
    Симпатии:
    0
    Адрес:
    Москва
    Всем привет!

    Может кто знает, можно ли на javascript заставить <input type="file"> открыть окно выбора файла (сэмулировать клик по кнопке)?
     
  2. Mavir

    Mavir Guest

    Сам придумал, может и не правильно :)
    В IE сработало

    Код (Text):
    1. <input type="file" id="ff">
    2. <input type="button" value="open" onclick="document.getElementById('ff').click()">
     
  3. Belegnar

    Belegnar Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    299
    Симпатии:
    0
    Там же кнопка "Обзор" и так есть. Зачем еще одна?
     
  4. Mavir

    Mavir Guest

    Например, такой код
    Код (Text):
    1. <div style="display: none">
    2. <input type="file" id="ff">
    3. </div>
    4. <input type="Text" id="tff">
    5. <input type="button" value="open" onclick="document.getElementById('ff').click(); document.getElementById('tff').value=document.getElementById('ff').value">
    позволит заменить стандартную кнопку "Обзор" на свою. Можно также использовать рисунок или ссылку.

    P.S. В FF этот код не сработал :(
     
  5. Anonymous

    Anonymous Guest

  6. Mavir

    Mavir Guest

  7. vlad-net

    vlad-net Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    42
    Симпатии:
    0
    Адрес:
    Москва
    Я хочу сделать как правильно написал Mavir:
    Спасибо, Marvir, я click() пробовал, но в Mozilla & MozillaFF не работает :( так что вопрос открыт
     
  8. vlad-net

    vlad-net Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    42
    Симпатии:
    0
    Адрес:
    Москва
    Кстати, насчет
    Я согласен, что стандартные контролы должны оставаться стандартными, однако при открытии файла обычному пользователю более понятен интерфейс кнопки на toolbar-е, например, MSWord кнопка "Открыть" вторая слева (Ctrl+O), чем <input type="file">.

    Это я и хотел бы сделать, кстати с использованием скрытой формы, как в примере от Mavir.
     
  9. Anonymous

    Anonymous Guest

    Тут видишь, еще какой вариант - в принципе, пользователь прывык, что в ЕГО браузере файл выбирается таким именно образом...
    Mavir, я ж не критикую, типа - "не делайте так ваще!", я просто освещаю по возможности все стороны вопроса.
    Но я понял вашу идею)
    Если найдете универсальный способ, скажите))
    vlad-net, я делал чуть по другому - по кнопке открывался скрытый div, в котором уже был input )
     
  10. Mavir

    Mavir Guest

    Горбунов Олег, Вы же не знаете точную задачу. Например, во flash нет возможности закачки файлов. Зато можно вызывать JavaScript. А вставив скрытый слой с формой и полем file можно такое организовать.

    Еще есть такой фактор, как заказчик. Ну хочется ему так сделать, хоть ты тресни :)
     
  11. Mavir

    Mavir Guest

    Как говорится: "Каждый физик должен быть в меру ленив, чтобы не делать лишней работы". Поэтому я без надобности не буду извращаться, а вставлю просто поле file, ведь так проще ;)

    P.S. Я по профессии физик :)