2017-04-03 11 views
0

なぜこれが起こっているのか本当に混乱しています。フォームのドラッグアンドドロップエリアを作成していますが、これまでファイルをドロップして何がドロップされたかを報告できます。私は次に提出する前にドロップされたファイルを追加しようとしています。提出すると、フォームがajax経由で送信されます。jQueryでファイルを削除した後に追加されないファイル

ファイルを削除できますが、フォームとともに送信されないようです。

 // Flie Input Listener 
    .on('change', 'input[type="file"]', function(e) { 
    showFiles(e.target.files); 
    droppedFiles = ""; 
    //$form.trigger('submit'); // automatically submit the form on file select 
    }) 
    .on('drag dragstart dragend dragover dragenter dragleave drop', '#dropArea', function(e) { 
    e.preventDefault(); 
    e.stopPropagation(); 
    }) 
    .on('dragover dragenter', '#dropArea', function() { 
    $("#dropArea").addClass('is-dragover'); 
    }) 
    .on('dragleave dragend drop', '#dropArea', function() { 
    $("#dropArea").removeClass('is-dragover'); 
    }).on('drop', '#dropArea', function(e) { 
     droppedFiles = e.originalEvent.dataTransfer.files; 
     showFiles(droppedFiles); // function to replace text with file name dropped 
     var $form = $('#dropArea').closest('form'); find the form the files were dropped on 
     console.log($form.attr('id')); // check the form was found 
     var files = new FormData($form.get(0)); // create the Form Data object to store the files 
     $input = $form.find('input[type="file"]'); // find the input field to attach dropped files 
     console.log($input.attr('id')); // check right input item selected 
     $.each(droppedFiles, function(i, file) { // loop round all files attached 
      files.append($input.attr('name'), file); 
     }); 
     $form.trigger('submit'); // auto submit form just for testing 
     }) 

すべてが動作しているようですが、ドラッグ&ドロップされたファイルは添付していないと提出します。

+0

私は新しいFormDataオブジェクトをこれを上書きしていたすべて働いている。ありがとう、マイクの文法スペルの修正は、このプロジェクトを終了してコーヒーで実行するために直に4日間アップしていたので、タイピングはややこしい –

答えて

0

私は新しいFormDataオブジェクトを作成していました。これは、これをオーバーライドした別の関数ですべて動作しています。ありがとう、マイクの文法のスペルの訂正は、このプロジェクトを終了し、コーヒーだけで実行しているので、入力がちょっとうっすらとしないようにしました。

関連する問題