2017-03-21 108 views
0

我試圖上傳一個文件,當點擊一個按鈕時。問題是在代碼Uncaught TypeError:無法讀取未定義文件上傳的屬性「長度」Dropzone JS

Dropzone.options.myDropzone = { 

    autoProcessQueue: false, 

    init: function() { 
     var submitButton = document.querySelector("#submit-all") 
     myDropzone = this; 

     submitButton.addEventListener("click", function() { 
      myDropzone.processQueue(); 
     }); 


     this.on("addedfile", function() { 

     }); 

    } 
}; 

以上第二塊是我創建一個新的懸浮窗部分,樓下是我logic.I在我的for循環得到一個錯誤。說長度是不確定的。

$("#submit-all").click(function (e) { 
    $('#myPleaseWait').modal('show') 
    var fileUpload = $("#files").get(0); 
    var files = this.file; 
    var data = new FormData(); 
    var _url = $(this).data('appcontroller'); 
    for (var i = 0; i < files.length ; i++) { //Error is stopping here when upload button is pressed 
     data.append(files[i].name, files[i]); 
    } 
    $.ajax({ 
     type: "POST", 
     url: _url, 
     contentType: false, 
     processData: false, 
     data: data, 
     success: function (message) { 
      $('#myPleaseWait').modal('hide'); 
      alert(message); 
     }, 
     error: function() { 
      $('#myPleaseWait').modal('hide'); 
      alert("There was error uploading files!"); 
     } 
    }); 
}); 

我添加了一個JS撥弄我的HTML代碼https://jsfiddle.net/q47axhdf/2/

任何幫助將不勝感激

+0

'var files = fileUpload.file;'應該是'var files = fileUpload.files;' –

+0

hi rory,忘記把它改成this.files,這就是爲什麼我得到我的長度undefined錯誤消息 –

+0

所以你是說現在它已經修好了嗎? –

回答

0

像往常一樣找到了答案張貼此之後。我在for循環中從我的file.length中刪除了.length,並且上傳完美。

相關問題