In JavaScript i file associati ad un campo di input appartengono ad un tipo di dati specifico.
Per verificare se l'utente ha scelto dei file, la seguente verifica fallirà:
if(Array.isArray(input.files) && input.files.length > 0) {
// Otterremo sempre false
}
files
non è un array, ma una FileList
, quindi la prima verifica non avrà
mai successo. Dobbiamo invece scrivere:
if(input.files && input.files.length > 0) {
// Otterremo true o false
}
Una FileList ha una proprietà length
, quindi anche la seconda verifica sarà attendibile.