Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.12.2009, 15:37
Новичок на форуме
Отправить личное сообщение для Deller Посмотреть профиль Найти все сообщения от Deller
 
Регистрация: 19.03.2008
Сообщений: 3

Закачка файлов JS
Точнее даже не закачка. Есть поле
<input style="display:none;" type="file" id="id1">
и есть некая ссылка.
<a href="#" onclick="addfoto(); return false;">
Так вот, как сделать чтобы при нажатии на ссылку появлялось окно выбора файла ( как при нажатии кнопки обзор около инпута) и соответственно выбранный файл добавлялся в поле инпут. Буду очень благодарен за подсказку.
Ответить с цитированием
  #2 (permalink)  
Старый 23.12.2009, 16:19
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

надо чтобы твой input type="file" был невидимым и под мышкой, когда ты щелкаешь. Т.е. чтобы фактически ты щелкал по невидимому input type="file"
Ответить с цитированием
  #3 (permalink)  
Старый 23.12.2009, 17:03
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,577

Сообщение от x-yuri Посмотреть сообщение
надо чтобы твой input type="file" был невидимым и под мышкой, когда ты щелкаешь. Т.е. чтобы фактически ты щелкал по невидимому input type="file"
Интересно как невидимый элемент получит событие? Да и контейнером input не является также.

Deller если что-то придумаешь отпиши плиз - интересно. А то я тоже не знаю как такое сделать и можно ли вообще.
Ответить с цитированием
  #4 (permalink)  
Старый 23.12.2009, 17:36
Новичок на форуме
Отправить личное сообщение для Deller Посмотреть профиль Найти все сообщения от Deller
 
Регистрация: 19.03.2008
Сообщений: 3

все решил. Надо быть проще, мы сами себе жизнь усложняем. Делаем вот так style="opacity:0;" для инпута (невидимость не надо). А ссылку над кнопкой "обзор" инпута.
Ответить с цитированием
  #5 (permalink)  
Старый 23.12.2009, 18:00
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Deller
Делаем вот так style="opacity:0;" для инпута (невидимость не надо).
x-yuri про это и говорил.
Ответить с цитированием
  #6 (permalink)  
Старый 23.12.2009, 18:02
Новичок на форуме
Отправить личное сообщение для Deller Посмотреть профиль Найти все сообщения от Deller
 
Регистрация: 19.03.2008
Сообщений: 3

Сообщение от Kolyaj Посмотреть сообщение
x-yuri про это и говорил.
Да я понял. просто догадался чуть раньше чем он написал. А потом уже зашел сюда на форум. Но за желание помочь всем респект.
Ответить с цитированием
  #7 (permalink)  
Старый 23.12.2009, 18:17
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,577

Deller, везде работает? В ИЕ6?
Ответить с цитированием
  #8 (permalink)  
Старый 23.12.2009, 23:07
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от Deller
А ссылку над кнопкой "обзор" инпута.
Я бы сказал наоборот. Ссылку под инпут. иначе событие получает ссылка а не кнопка. или так работает? такими махимахами не занимался...
Ответить с цитированием
  #9 (permalink)  
Старый 17.07.2012, 02:39
Интересующийся
Отправить личное сообщение для Rinas Посмотреть профиль Найти все сообщения от Rinas
 
Регистрация: 08.04.2011
Сообщений: 10

Ваше решение - бред. opacity работает только в CSS3, следовательно этот вариант не кроссбраузерный. Это делается по-другому.
Создается элемент <input type='file' id='file'> и <div></div>. у инпута ставится css свойство display:none. Затем

$("div").click(function(){
$("#file").trigger('click');
});

После этого выбранный файл лежит в форме, которую не видно. вы можете создать кнопку <input type='submit'> или просто отслеживать событие изменения элемента с id='file'. После этого ajax'ом отправлять данные на сервер, для этого есть jquery плагин ajaxForm

плагин
Ответить с цитированием
  #10 (permalink)  
Старый 17.07.2012, 03:22
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Rinas
у инпута ставится css свойство display:none.
В ИЕ скрытый инпут в форме - недоступен, нун скрывать z-index и position:relative
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка БОЛЬШИХ файлов посредством ajax barcelona jQuery 7 12.10.2012 03:37
Вывод JS значения в одну строку в HTML velo Общие вопросы Javascript 7 15.12.2009 03:57
Самая лучшая книга по JS? ulandj Оффтопик 2 06.04.2009 11:35
Закачка файлов! SerMax AJAX и COMET 9 03.04.2009 17:46
Загрузка дополнительного js кода с сервера Anonymous2008 Общие вопросы Javascript 5 20.11.2008 12:33