Intereting Posts
PHP array_multisort – как сохранить значения ключа? TinyMVC всегда показывает контроллер по умолчанию Параметрированные запросы PHP / MySQL Может ли колонка дискриминатора быть частью первичного ключа в Doctrine2? Как отображать только 5 записей на страницу из моей таблицы базы данных mysql через разбиение на страницы? Можно ли использовать C ++-файлы из php Что не так с моим запросом на завивки PHP, пожалуйста, помогите .. Я не получаю никаких данных назад Проблема с завихрением Объединение двух массивов в виде пар ключевых значений в PHP Интервью Вопрос: Может ли быть эхо перед заголовком? Примечание: Неизвестно: Пропуск цифровой клавиши 1 в Unknown в строке 0 простая форма входа с помощью symfony Правильное предотвращение почтовой инъекции в PHP Включение отображения ошибок в php только через htaccess Не удалось перенаправить старый URL-адрес PHP на новую страницу ASP

Как получить Dropzone.js для загрузки файлов только при нажатии кнопки отправки?

за последние несколько дней я пытался внедрить Dropzone в свою форму, но до сих пор мне не удавалось выяснить, как заставить его загружать и обрабатывать изображения только при нажатии кнопки отправки. Поэтому я решил приехать сюда и попросить вас, ребята, о помощи.
Я сделал примерную структуру кода, поэтому вы можете только взглянуть на то, что нужно. Прямо сейчас, я думаю, что он должен работать, когда я помещаю некоторые фотографии в Dropzone и нажимаю кнопку, которая запускает функцию collect_input с контроллера. Но я не знаю, как обрабатывать файлы и т. Д. Итак, я предполагаю, что я прошу, это совет / решение о том, как обрабатывать файлы из формы, например. Сохранение их в папку и добавление записи в базу данных.
Я отправлю код ниже, и если у кого-нибудь из вас есть какие-либо советы или решения, поделитесь ими со мной. Я хотел бы поблагодарить всех вас за то, что вы даже прочитали это и за ваши ответы. Btw Я работаю в CodeIgniter.
[Загрузить весь проект (css, js & php] http://puu.sh/5eqLc.zip

HTDOCS / приложение / контроллеры / test.php

<?php class Test extends CI_Controller { public function __construct() { parent::__construct(); } public function index() { $this->load->view('test_view'); } public function collect_input() { } } 

HTDOCS / приложение / контроллеры / test_view.php

 <!DOCTYPE html> <html> <head> <title>Test</title> <meta charset="utf=8"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js" type="text/javascript"></script> <!-- Load DropZone --> <link href="<?php echo base_url(); ?>/css/basic.css" type="text/css" rel="stylesheet" /> <link href="<?php echo base_url(); ?>/css/dropzone.css" type="text/css" rel="stylesheet" /> <script src="<?php echo base_url(); ?>js/dropzone.min.js"></script> <script type="text/javascript"> jQuery(document).ready(function() { var myDropzone = new Dropzone("div#myId", { url: "file-upload"}); }); </script> <script type="text/javascript"> Dropzone.options.myId = { // Prevents Dropzone from uploading dropped files immediately autoProcessQueue: false, init: function() { var submitButton = document.querySelector("#add") myDropzone = this; // closure submitButton.addEventListener("click", function() { myDropzone.processQueue(); // Tell Dropzone to process all queued files. }); // You might want to show the submit button only when // files are dropped here: this.on("addedfile", function() { // Show submit button here and/or inform user to click it. }); } }; </script> </head> <body> <?php echo form_open('test/collect_input'); ?> <!-- One of the many inputs of my form --> <select id="list_type"> <option value="-1">Chooose a type</option> <option value="1">&gt;&gt;Type A</option> <option value="2">&gt;&gt;Type B</option> </select> <!-- Dropzone --> <div id="myId" class="dropzone"></div> <!-- Submit button--> <input type="submit" id="add" name="add" value="Add!!"> </form> </body> </html> 

Вы можете указать свой собственный URL для загрузки файла. В настоящее время я просто устанавливаю его как 'someurl'

 Dropzone.autoDiscover = false; jQuery(document).ready(function() { var myDropzone = new Dropzone("#myId", { url: 'someurl', autoProcessQueue:false }); $('#add').on('click',function(e){ e.preventDefault(); myDropzone.processQueue(); }); }); 
 <script> $(document).ready(function () { Dropzone.options.dropzoneForm = { autoProcessQueue: false }; }); function processEvent() { // call this to trigger the upload $('#dropzoneForm').get(0).dropzone.processQueue(); } </script> <form action="/your-post-url-here" method="post" enctype="multipart/form-data" class="dropzone" id="dropzoneForm"></form>