Есть ли способ проверить, были ли заполнены какие-либо входные данные файла? - PullRequest
1 голос
/ 12 марта 2020

У меня есть форма с несколькими типами входных файлов. Я хочу проверить, если какой-либо из входов имеет выбранный файл. Я пробовал $('.multi').val(), но это не работает.

http://jsfiddle.net/hbdyresq/

$('.bt').on('click', function() {
  var filesSelected = $('.multi').val();
  console.log(filesSelected)
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<button class="bt" type="button">button</button>

1 Ответ

1 голос
/ 12 марта 2020

Чтобы проверить, есть ли у любого из файловых входов выбранный файл, вы можете использовать filter() для извлечения только тех, где files.length не ноль:

$('.bt').on('click', function() {
  var filesSelected = $('.multi').filter((i, el) => el.files.length).length != 0;      
  console.log(filesSelected);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<button class="bt" type="button">button</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...