Nowość w JS.
Próbuję sprawdzić, czy element wejściowy pliku jest pusty podczas przesyłania formularza za pomocą jQuery / JavaScript. Przeszedłem przez kilka rozwiązań i nic dla mnie nie działa. Próbuję uniknąć /c/fakepath
(chyba że nie ma innej opcji)
<input type="file" name="videoFile" id="videoUploadFile" />
To nie działa:
var vidFile = $("#videoUploadFile").value;
Jedyny sposób, w jaki mogę uzyskać nazwę pliku, to użycie następującego:
var vidFile = document.getElementById("videoUploadFile").files[0].name;
Jeśli nie ma dostępnego pliku, kod generuje błąd:
nie można odczytać nazwy właściwości undefined
co ma sens, ponieważ tablica nie jest ustawiona. ale nie mogę dowiedzieć się, jak zrobić z tym obsługę błędów.
Jak poprawnie pobrać element wejściowy pliku videoUploadFile
, sprawdzić, czy jest pusty, wyrzucić komunikat o błędzie, jeśli jest pusty?
javascript
jquery
html
user3753569
źródło
źródło
.files.length
?var files = $('#formbody').find('input[type=file]').filter(function() { return $(this)[0].files.length > 0; });
Odpowiedzi:
Wystarczy sprawdzić właściwość length of files , która jest obiektem FileList zawartym w elemencie wejściowym
źródło
( document.getElementById("videoUploadFile").files.length === 0 )
Oto jego wersja jQuery:
źródło
$('#videoUploadFile').get(0)
to samo,$('#videoUploadFile')[0]
ale być możeget()
robi pewne testy poczytalnościAby sprawdzić, czy plik wejściowy jest pusty, czy nie, za pomocą właściwości długości pliku,
index
należy określić w następujący sposób:źródło
Wiem, że spóźniłem się na imprezę, ale pomyślałem, że dodam to, czego ostatecznie użyłem do tego - czyli po prostu sprawdzić, czy dane wejściowe przesyłania pliku nie zawierają prawdziwej wartości z operatorem not i JQuery w następujący sposób:
Zwróć uwagę, że jeśli to jest w formularzu, możesz również chcieć opakować go następującym programem obsługi, aby zapobiec przesyłaniu formularza:
źródło
Pytania: jak sprawdzić, czy plik jest pusty, czy nie?
Odp: Rozwiązałem ten problem za pomocą tego kodu JQuery
źródło