2016-08-26 2 views
0

Я хочу использовать зону перетаскивания с перетаскиванием нескольких файловых загрузчиков. то, что он делает, автоматически загружает файл на сервер с помощью Ajax. Но я хочу, чтобы он выполнял другую функцию. Я хочу, чтобы всякий раз, когда я выбираю файл, он должен создать <input type="file" name="file1"><input type="file" name="file2"> и так далее с каждым полем, в котором находится этот файл. поэтому, когда в конце я нажимаю кнопку отправки. то я должен иметь возможность загружать его вручную.использовать dropzone без автоматической загрузки


Сценарий заключается в том, что я собираюсь загружать продукты. путем перетаскивания я буду загружать фотографии продуктов. Я знаю, что эта фотография может быть загружена, а значения могут быть сохранены в базе данных, но пока я не отправил форму, пока нет идентификатора продукта. и есть поле на вкладке изображений, где мы вводим идентификатор продукта. любое предложение для этого.

ответ

5

Вы должны установить для параметра autoProcessQueue значение false.

Вы можете сделать это так:

HTML - кнопка Добавить

<form action="your_action" class="dropzone" id="your_form_id"> 
    <div class="fallback"> 
     <input name="file" type="file" /> 
    </div> 
</form> 

<button type="button" id="btn_upload">Upload</button> 

JavaScript - набор autoProcessQueue ложь, добавить событие щелчка на кнопке ID и активаций события processQueue загрузить то файл

Dropzone.options.your_form_id = { 
    autoProcessQueue: false, 

    init: function (e) { 

     var myDropzone = this; 

     $('#btn_upload').on("click", function() { 
      myDropzone.processQueue(); // Tell Dropzone to process all queued files. 
     }); 

     // Event to send your custom data to your server 
     myDropzone.on("sending", function(file, xhr, data) { 

      // First param is the variable name used server side 
      // Second param is the value, you can add what you what 
      // Here I added an input value 
      data.append("your_variable", $('#your_input').val()); 
     }); 

    } 
}; 
+0

Я не просто загружаю файлы. Я должен также хранить их адрес в базе данных. когда я отправлю форму, как это будет сделано. – prabhjot

+0

В чем проблема? В вашей форме html у вас есть свое действие, и вы можете делать то, что хотите на стороне сервера (хранить в базе данных, сжимать и т. Д.) – John

+0

Я отредактировал свой вопрос. пожалуйста, прочтите – prabhjot

Смежные вопросы