2016-11-09 57 views
0

我在頁面上有幾個按鈕。當我點擊每個按鈕時,我需要加載文件。如何使用Dropzone JS在頁面上的某個按鈕?

每個按鈕都有獨特的data-id屬性,我點擊它時必須通過請求AJAX傳遞。

如何使用Dropzone插件來做到這一點?

+0

我看不到文檔中的示例 – MisterPi

+0

你是說你想要按鈕而不是dropzone嗎? –

+0

是的,我的意思是鏈接'a'與'btn' bootsratp類 – MisterPi

回答

1

按照要求,這裏是一個如何創建一個按鈕的示例,該按鈕將使用Bootstrap上傳文件和數據屬性。

<button class='btn btn-default chooser' data-id='hello'>Choose a file</button> 

的JS需要這個輔助庫我寫了這個確切的目的:fileUpload.js

$(".chooser").each(function() { 
    var ele = this; 
    $(ele).fileUpload({ 
     change: function() { 
      // Get the files from the input 
      var files = $(ele).fileUpload("getFiles"); 
      var formData = new FormData(); 
      for (var i = files.length; i--;) 
       formData.append('myFiles[]', self.files[i], self.files[i].name); 
      // Get the data attribute from the button 
      formData.append('data-id', $(ele).data('id')); 
      $.ajax({ 
       url: "http://mywebsite.com/uploads", 
       type: 'POST', 
       data: formData, 
       processData: false, 
       contentType: false, 
      }).always(function(xhr) { 
       // all done. do something with the response here 
      }); 
     } 
    }); 
}); 

還有其他的選擇,你可以限制其只接受特定類型的文件或多個文件等見上面的鏈接瞭解更多信息。

+0

您使用'id',所以ig我有100個按鈕,我應該每次複製您的代碼 – MisterPi

+0

@MisterPi - 這只是一個例子。您可以輕鬆使用類。 –

+0

好的,那麼在這個事件中如何獲取data-id屬性呢? – MisterPi

相關問題