2016-03-23 5 views
0

Ich benutze Dropzone JS und habe diesen Code. Es funktioniert gut:Dropzone JS Anhören des Erfolgsereignisses mehrerer hochgeladener Dateien

<script> 
     $(function() { 

      //-- Start DROPZONE --// 
      var myDropzone = new Dropzone(".dropzone", { 
       url: "test2.php?token='.$product_token.'", 
       maxFilesize: 2, 
       maxFiles: 10, 
       uploadMultiple: true 
      }); 

      myDropzone.on("successmultiple", function(multiple) { 
       $("#btn-addnew").removeClass("disabled"); 
      }); 
      //-- End DROPZONE --// 

     }) 
    </script> 

jedoch $("#btn-addnew").removeClass("disabled"); ausgeführt wird, wenn nur eine Datei erfolgreich hochgeladen bekommen. selbst da sind noch 5 Dateien hochgeladen. Wie kann verhindert werden, dass $("#btn-addnew").removeClass("disabled"); ausgeführt wird, bis ALLE Dateien erfolgreich hochgeladen wurden?

Vielen Dank für Ihre Aufmerksamkeit.

Antwort

1

Das Problem ist nicht mit der Dropzone-Erfolgsfunktion. Es ist mit Ihrem HTML-Code id. IDs sollen nur einmal im DOM verwendet werden, Sie verwenden es (manchmal) fünfmal.

Ändern Sie die id in eine Klasse und führen Sie dann Ihren Code aus.

class="btn-addnew disabled" 
$('.btn-addnew').removeClass('disabled'); 
+0

Hallo Bruder, ich habe versucht, in die Klasse zu wechseln, wie Sie sagten. anstelle von ID. aber immer noch so handeln. Hier ist meine Schaltfläche: '' und hier ist das javascript: '$ (". btn-addnew "). removeClass ("deaktiviert"); ' –

+0

@RobertHanson Probieren Sie es mit dem Ereignis' complete' anstelle des Ereignisses 'successmultiple' oder 'queuecomplete' aus – Ohgodwhy