私も同じ問題に直面しているので、ここで回答を提供したいと思います。$ _ FILES要素を別のフォームと同じ投稿の一部として使用できるようにしたいと考えています。私の回答は@mrtnmgsに基づいていますが、その質問に追加されたコメントに注意しています。
まず、Dropzoneはajax経由でデータを投稿します
formData.append
オプションを使用するからといって、それでもUXアクションに取り組む必要があることを意味します。つまり、これはすべて舞台裏で行われ、典型的なフォームポストではありません。データがurl
パラメーターに投稿されます。
次に、フォームの投稿を模倣したい場合は、投稿されたデータを保存する必要があります
これには$_POST
またはを保存するサーバー側コードが必要です$_FILES
、ユーザーがポストされたデータを受信したページに移動しないので、別のページのロード時にユーザーに利用可能なセッションでは。
3番目に、このデータが処理されるページにユーザーをリダイレクトする必要があります
データを投稿し、セッションに保存したので、追加のページでユーザーに表示/アクションする必要があります。ユーザーをそのページに送る必要もあります。
だから私の例では:
[Dropzoneコード:Jqueryを使用]
$('#dropArea').dropzone({
url: base_url+'admin/saveProject',
maxFiles: 1,
uploadMultiple: false,
autoProcessQueue:false,
addRemoveLinks: true,
init: function(){
dzClosure = this;
$('#projectActionBtn').on('click',function(e) {
dzClosure.processQueue(); /* My button isn't a submit */
});
// My project only has 1 file hence not sendingmultiple
dzClosure.on('sending', function(data, xhr, formData) {
$('#add_user input[type="text"],#add_user textarea').each(function(){
formData.append($(this).attr('name'),$(this).val());
})
});
dzClosure.on('complete',function(){
window.location.href = base_url+'admin/saveProject';
})
},
});