![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
walruz |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
Здравствуйте!
Нашел в интернете идею, как подменить стандартный контрол input/type=file на простое текстовое поле и кнопку рядом с ним. Занялся этим, потому что заказчика раздражает "обнуление" стандартоного контрола при перезагрузке страницы. Слова типа "безопасность" и "стандартное поведение" не помогают. Приведенный ниже фрагмент кода почти ![]() Но на стороне сервера в реквесте выбранный файл отсутствует. Если использовать onSubmit, чтобы посмотреть значение browse.value в момент отправки на сервер, то это значение равно пути к выбранному файлу. Пожалуйста, подскажите, что тут можно поделать??? ![]()
Заранее большое спасибо!!! Это сообщение отредактировал(а) Sardar - 27.1.2007, 00:03 |
|||
|
||||
smartov |
|
||||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
walruz, кнопка "Код" делает ваш код читабельным.
Этого мало:
Надо:
Как ты раньше файлы грузил, если multipart/form-data не прописал?? И что тебе даст поле с кнопкой? Загрузить файл можно только используя поле типа file. Это сообщение отредактировал(а) smartov - 26.1.2007, 12:36 |
||||
|
|||||
walruz |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
Спасибо за ответ.
Дело не в enctype="multipart/form-data". Уверяю вас, что это просто не очень удачный пример я выбрал и что в своей программе, которую мне хочется заставить работать, это свойство задано и задано верно. То что "файл можно загрузить только используя поле типа file", я тоже понимаю. Как вы видите, это поле в форме присутствует. Если убрать style="display: none;", то можно будет увидеть все, что происходит с этои полем, как оно заполняется и т.д. Пожалуйста, посмотрите, вдруг вам удастся разобраться с тем, что происходит. спасибо! |
|||
|
||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
walruz,
Не совсем понимаю. Имеете в виду что в реальном коде form-data есть? Тогда почему не его привели...?
Поле типа файл заполнять яваскриптом нельзя. Это несекьюрно и никакой браузер такого не позволит. |
|||
|
||||
walruz |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
1) да, enctype="multipart/form-data" в реальном коде присутствует. Почему его нет в примере, который я привел? Потому что я искал решение в интеренете и нашел этот примерчик - маленький и без всего лишнего. Его автор хотел получать только строку (путь к выбранному файлу), но не сам файл. Вероятно, поэтому он не включил это свойство в свой заголовок. К сожалению, я не обратил на это внимание.
2) в IE6 на странице все выглядит превосходно - поле типа file удается заполнить, перед сабмитом его значение все еще равно пути к выбранному файлу, но почему то на сервер ничего не доходит. Может быть броузер отслеживает, что поле было установленно не вручную пользователем, а с помощью скрипта? И никак его "обмануть" нельзя? Обратите внимание на onClick="browse.disabled=false;browse.click();file.value=browse.value;browse.disabled=true;" . Если browse.disabled=false; и browse.disabled=true; убрать, то для сабмита формы потребуется два нажатия на кнопку Submit: - после первого нажатия поле типа file будет "обнулено" - только после второго нажатия, форма будет передана на сервер Есть ли способ это победить??? Спасибо! |
|||
|
||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
||||
|
||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Клик на input:file работать будет только в IE.
Глянь сюда для более корректного решения всей задачи, если нужно было просто сделать собственный красивый input:file. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
walruz |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
Если вы говорите о моем примере, то это не правда - мы сможем взять только тот файл, который пользователь сам выбрал. |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |