Очистка < input type = 'file' / > используя jQuery

Siemano, получить только файлы php из выбранного каталога:

$dir    = '/home/zetdoa/ftp/domeny/MY_DOMAIN/projekty/project';
$files = scandir($dir, 1);


foreach($files as $file){
  $n = substr($file, -3);
  if($n == 'php'){
    echo $file.'<br />';
  }
}
531
задан Maistrenko Vitalii 26 September 2017 в 14:14
поделиться

4 ответа

Простой способ изменяет входной тип, и возвратите его снова.

Что-то вроде этого:

var input = $('#attachments');
input.prop('type', 'text');
input.prop('type', 'file')
0
ответ дан 22 November 2019 в 22:23
поделиться

Значение входных файлов файла доступно только для чтения (из соображений безопасности). Вы не можете очистить его программно (кроме вызова метода reset () формы, который имеет более широкую область действия, чем только это поле).

5
ответ дан 22 November 2019 в 22:23
поделиться

Быстрый ответ: замените его.

В приведенном ниже коде я использую метод jQuery replaceWith , чтобы заменить элемент управления его клоном. Если у вас есть какие-либо обработчики, привязанные к событиям в этом элементе управления, мы также захотим сохранить их. Для этого мы передаем true в качестве первого параметра метода clone .

<input type="file" id="control"/>
<button id="clear">Clear</button>
var control = $("#control");

$("#clear").on("click", function () {
    control.replaceWith( control = control.clone( true ) );
});

Fiddle: http://jsfiddle.net/jonathansampson/dAQVM/

Если при клонировании при сохранении обработчиков событий возникают какие-либо проблемы, которые вы могли бы рассмотреть при использовании делегирования событий для обработки щелчков по этому элементу управления из родительского элемента:

$("form").on("focus", "#control", doStuff);

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

430
ответ дан 22 November 2019 в 22:23
поделиться

В IE8 они сделали поле загрузки файла доступным только для чтения в целях безопасности. См. Сообщение в блоге команды IE :

Исторически, элемент управления загрузкой файлов HTML () был источником значительного числа уязвимостей раскрытия информации. Чтобы решить эти проблемы, в поведение элемента управления были внесены два изменения.

Чтобы заблокировать атаки, которые полагаются на «кражу» нажатий клавиш, чтобы тайно обманом заставить пользователя ввести локальный путь к файлу в элемент управления, поле редактирования Путь к файлу открывается теперь только для чтения. Пользователь должен явно выбрать файл для загрузки с помощью диалогового окна «Обзор файлов».

Кроме того, для параметра URLAction «Включить путь к локальному каталогу при загрузке файлов» установлено значение «Отключить» для зоны Интернета. Это изменение предотвращает утечку потенциально конфиденциальной информации о локальной файловой системе в Интернет. Например, вместо того, чтобы отправлять полный путь C: \ users \ ericlaw \ documents \ secret \ image.png, Internet Explorer 8 теперь будет отправлять только имя файла image.png.

20
ответ дан 22 November 2019 в 22:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: