Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

154
Visualizações
Agregue un cuadro de entrada para cada archivo soltado en dropzone

Tengo un cuadro de arrastrar y soltar con dropzone.js. Permito la carga de múltiples archivos (máximo 5 archivos en la actualidad). Solicité agregar una capacidad para que el usuario agregue una descripción para cada archivo cargado. Los retos que tengo:

  1. No se puede determinar cuántos archivos arrastró el usuario en la zona
  2. si creo cuadros de texto fuera de la zona, ¿cómo los vinculo a cada archivo correctamente? Configuré uploadMultiple en falso y procesé un archivo a la vez. Por ejemplo, el usuario subió 3 imágenes de casa, tienda y almacén y 1 pdf y agregó una descripción de las facturas. ¿Cómo me aseguro de que las facturas no terminen en casa o tienda al procesar ese archivo?
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Logré algo como esto usando una plantilla personalizada de cómo Dropzone muestra el archivo en la cola. Comencé con este ejemplo del autor de Dropzone que explica cómo usar una plantilla personalizada al mostrar archivos en la cola. Amplié el ejemplo agregando una entrada de formulario adicional a la plantilla.

 <div class="table table-striped" class="files" id="previews"> <div id="template" class="file-row"> <!-- This is used as the file preview template --> <div> <span class="preview"><img data-dz-thumbnail /></span> </div> <div> <p class="name" data-dz-name></p> <strong class="error text-danger" data-dz-errormessage></strong> </div> <!-- include a form field to collect the description --> <div> <label for="description">Description</label> <textarea id="description" data-name="description" rows="3"></textarea> </div> <!-- remainder of template removed for brevity --> </div> </div>

Número 1

Cuando agrega el elemento de formulario, si especifica un atributo de name , solo se enviará el valor del elemento de formulario asociado con el último archivo cuando se cargue el archivo porque tiene varios elementos de formulario, todos con el mismo atributo de name .

Para evitar esto, no incluí un atributo de name , sino que usé un atributo data-name . Luego agregué el valor del elemento del formulario a los datos del formulario cuando se envió el archivo usando este código:

 myDropzone = new Dropzone('form#myuploadform') myDropzone.on( 'sending', function (file, xhr, formData) { let description = file.previewElement.querySelector('textarea') formData.append(description.getAttribute('data-name'), description.value) } )

Número 2

Debido a que los valores de id se especifican en la plantilla, tendrán el mismo valor para cada archivo agregado a la cola que infrinja la especificación HTML, ya que los valores de id deben ser únicos. Además, dado que el atributo for del elemento LABEL hace referencia al id de TEXTAREA, esto también interrumpe la accesibilidad porque la segunda y subsiguientes ETIQUETAS harán referencia a la primera TEXTAREA.

Solucioné esto agregando el valor UUID que Dropzone asigna a cada objeto de file para la id y for atributos a medida que el archivo se agrega a la cola, que se explica en esta respuesta .

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda