2017-07-17 38 views
1

Iam使用laravel 5.4和dropzone上傳照片的形式。不能沿着輸入發送文件與dropzone laravel

我有一個有很多輸入的表單。我想要的是當用戶點擊提交按鈕時,上傳照片然後發送所有輸入名稱。

我的形式如下:

<form class="form-horizontal" role="form" id="companyForm" method="post" action="{{ route('company.store') }}" enctype="multipart/form-data"> 
<!-- a lots of inputs fields --> 
... 
<label>Photos:</label> 
<div class="dropzone" id="myDropzone"></div> 
<button class="public" type="submit" id="companySubmit">Publish</button> 
</form> 

我的懸浮窗的配置:

// initialize dropzone 
Dropzone.autoDiscover = false; 
var myDropzone = new Dropzone(
    "#myDropzone", 
    { 
     url: "/company", 
     method: "post", 
     uploadMultiple: true, 
     parallelUploads: 6, 
     maxFiles: 6, 
     addRemoveLinks: true, 
     acceptedFiles: '.jpg,.jpeg,.JPEG,.JPG,.png,.PNG', 
     autoProcessQueue: false, 
     headers: { 
      'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
     }, 
     init: function() { 
      var myDropzone = this; 
      $('#companyForm').on("submit", function(e) { 
       if(myDropzone.files.length > 0) { 
        e.preventDefault(); 
        e.stopPropagation(); 
        myDropzone.processQueue(); 
       } 
      }); 
     } 
    } 
); 

當點擊提交,該文件被髮送但是無法輸入的字段。

如何沿文件發送輸入?

+0

所有數據看一看在這個兩個網址[首頁](https://github.com/enyo/dropzone/wiki/結合正常形式與Dropzone)和[秒](https://stackoverflow.com/questions/22218552/dropzone-with-normal-form) – Webinion

+0

我做了一些改變,現在它發送一個sinlge請求所有我需要的數據,但我有另一個問題...我有'如果(myDropzone.files.length> 0){ e.preventDefault(); myDropzone.processQueue(); } else { myDropzone.uploadFiles([]); ')但是控制器返回'return redirect() - > route('home');'如果我上傳文件,它不會重定向,如果沒有上傳它重定向的文件。任何想法爲什麼? – calin24

+0

無法在評論中獲取代碼請在[kopy](https://kopy.io/)中添加代碼 – Webinion

回答

0

我找到了一個解決方案...我不認爲是最有效的方法來做到這一點,但它的工作原理。

  1. 更換ID = 「companyForm」 與在config 「myDropzone」

  2. 懸浮窗ID使用DIV的懸浮窗預覽<div id="dropzonePreview" class="dropzone">

  3. 修改了配置:https://kopy.io/QYxjy

  4. 重定向是一個問題(僅當使用文件提交時)。控制器return redirect()->route('home');但不重定向表單 - 僅在提交時沒有文件; 我做了一個修復:window.location.href=home;其中home是刀片中的變量。 - 也許有人有更好的主意

  5. 在控制器現在我得到了一個請求:)