Tengo un archivo de tipo de entrada pero está en un modal, ¿cómo hacer que cuenten sus archivos? Lo intenté a continuación, pero no puedo obtener el valor, ¿qué hice mal?
for (var index = 0; index < document.getElementById('supporting_files').files.length; index++) { params.append("supporting_files", document.getElementById('supporting_files').files[index]); }retazo
<div class="modal-dialog modal-dialog-centered modal-dialog- scrollable"> <div class="modal-content"> <div class="modal-body"> <form id="form-pickupModal" method="post" autocomplete="off" novalidate="novalidate"> <div class="row"> <div class="col"> <div class="form-group"> <label class="form-label" for="supporting_files">Supporting files</label> <input class="form-control" id="supporting_files" name="supporting_files" type="file" accept=".jpg,.jpeg,.png,.xlsx,.xls,.doc,.docx,.pdf" value="" multiple> </div> </div> </div> </div> </div> </div>Como puede ver en el fragmento anterior, es un modal con un tipo de archivo de entrada allí, no tengo idea de cómo obtener su valor.
Puede usar la propiedad de longitud de FileList para obtener la cantidad de archivos seleccionados. y use el método del elemento para obtener un archivo en particular a través del índice.
function grabFiles() { console.log('Selected few files'); const files = document.getElementById('all_files').files; //Note that this files variable is of type FileList and it has a property length console.log('Number of file selected is: ', files.length); for (let i = 0; i < files.length; i++) { console.log(files.item(i)); } } <input type="file" id="all_files" multiple onchange="grabFiles()" />