Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/19: Рейтинг темы: голосов - 19, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 01.09.2009
Сообщений: 11
1

Можно ли запретить ручной ввод в поле <INPUT type=file> ? Выбирать файл только по кнопке?

06.04.2010, 17:49. Просмотров 3414. Ответов 12
Метки нет (Все метки)

сабж
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2010, 17:49
Ответы с готовыми решениями:

Поле input, в котором можно только выбирать значения, но не вводить свои
Как сделать поле для ввода данных с выпадающим списком возможных значений, но запретить в нем ввод...

Как заменить надпись на кнопке 'BROWSE' при использовании тэга <input type='File'> ?
Как заменить надпись на кнопке 'BROWSE' при использовании тэга &lt;input type='File'&gt;. Если такая...

если поле <INPUT type='file'...> пустое, то CGI просто замирает
Здравствуйте! У меня есть такой CGI: ....... int x = atoi(getenv('CONTENT_LENGTH')); char...

<input type="file> выбрать только jpg-файлы
Как в элементе формы &lt;input type=&quot;file&quot;...&gt; указать, что нужно выбирать только файлы jpg, но не...

12
swed
06.04.2010, 21:11 2
readonly
0 / 0 / 0
Регистрация: 01.09.2009
Сообщений: 11
07.04.2010, 12:33  [ТС] 3
Пробовал.
Тогда и кнопка открытия окна для выбора файлов тоже блокируется
0
swed
07.04.2010, 16:49 4
Тогда пиши что вроде этого
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<input type=text id='way_file_open'>
<input type=file id='file_to_open' style='display:none;' onpropertychange='change_file_way(this);'>
<input type=button onclick='select_file();'>
 
<script>
function select_file() {
  document.getElementById('file_to_open').dblclick();
 
}
function change_file_way() {
 var file = arguments[0];
 if (file.value)
     document.getElementById('way_file_open').value=file.value;
}
</script>
Я не пробовал но может и работать ))
76 / 52 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
07.04.2010, 17:36 5
Присвоение getElementById('way_file_open').value=file.value работать не будет. Свойство value для <input type=file> доступно только для чтения из соображений безопасности.
0
swed
07.04.2010, 18:03 6
Так если ты не заметил то я его только и читаю, а присваиваю просто текстовому полю
76 / 52 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
07.04.2010, 18:24 7
Действительно. Поторопился. Беру слова обратно

Но этот код страдает от более серьезной ошибки.
Если <input type=file> спрятан, то файл не будет отправляться на сервер, насколько я знаю. На evolt.org было обсуждение похожей темы:
http://lists.evolt.org/archive/Week-of-Mon-20031208/152682.html
0
swed
09.04.2010, 13:29 8
Я работал соскрытами елементами они передаються не сервер,
Не передаються елементи имеющие атрибут disables
Даже если елемент типа ФАЙЛ, если он скрыт не передаються, то можно его поместить в ОБэкт ТИПА DIV (его скрыть) а елемент типа файл не скрывать, соответственно файл не скрытый передается, а DIV скрыт и его содержимое на екране не видно

Думаю если не понят но напишу КОДОМ
76 / 52 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
11.04.2010, 10:55 9
Идея понятна. Пусть автор вопроса попробует и поделится с нами результатами.
0
0 / 0 / 0
Регистрация: 01.09.2009
Сообщений: 11
11.04.2010, 18:37  [ТС] 10
Пробовал пример - пока ничего не выходит.
Вопервых ругается на document.getElementById('file_to_open').dblclick(); (объект не поддерживает метод). Поставил .click() - Окошко открывается, значение копируется, но файл не отправляется даже если не скрывать <input type=file>
0
0 / 0 / 0
Регистрация: 01.09.2009
Сообщений: 11
12.04.2010, 15:01  [ТС] 11
Если использовать form1.submit() то вылетает ошибка 'access denied'. Похоже на то что поле File имеет ограничение по безопастности и блокирует подобные попытки записать файл отличным от стандартного способа
Вот код

Код
<%@language=JScript%>
<form method=POST EncType='multipart/form-data' id=form1 name=form1>
	<input  type=file id='file_to_open' name=fls ><input type=button onclick='select_file();' id=button1 name=button1 value='my_select'>

	

	
	
<a href='javascript:submit()'>submit</a>
</form>
<script>

function select_file() {
  document.getElementById('file_to_open').click();
}
function submit(){
	form1.submit();
}
</script>

<%if(Request.TotalBytes){
	Response.Write('Bytes: '+Request.TotalBytes);	
}
%>
Всё это надо для того чтоюы пользователь не вводил в поле всякую ерунду.
Может есть способ проверить правильность заполнения поля? И если такого файла не существует - выдать сообщение.
0
2 / 2 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
12.04.2010, 17:41 12
вот вы мне скажите, зачем может понадобиться закрывать пользователю ручной ввод в поле пути к выгружаемому файлу с его же компьютера?
0
0 / 0 / 0
Регистрация: 14.04.2010
Сообщений: 14
14.04.2010, 12:42 13
Отследить событие onFocus для поля file, затем отслеживать события нажатий клавиш и блокировать ввод.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.04.2010, 12:42

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

Input type file - выберите файл
Добрый вечер ув. пользователи! При клике на кнопку открывается мод. окно с формой, в которой есть...

Как можно в [input type='file'] поменять кнопку?
Как можно в поменять кнопку или сделать анологичную хрень из обычного поля и кнопки. И вообще...

Как загрузить файл на сервер с помощю <input type=file>?
Как загрузить файл на сервер с помощю &lt;input type=file&gt; Например есть файл file.txt его надо...

Вставить путь до файла в поле <input type="file"
Всем привет ,нужно вставить на данной страничке...

Как в поле формы Input type="File" вывести значение по умолчанию?
Привет всем. Загружаю файлы рисунков и описания к ним на сервер. Если не заполнены обязательные...

Как можно поменять кнопку <input type=file> для выбора файла или заменить на image?
Как можно поменять кнопку &lt;input type=file&gt; для выбора файла или заменить на image?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.