2016-03-08 59 views
0

我处理在输入型输入的文件 “文件”,因此:掉下文件作为输入

<input id="upload_button" type="file"/>

然后:

var handleFileSelect = function(evt) {         

     var target = evt.dataTransfer || evt.target; 
     var file = target && target.files && target.files[0]; 
     (...) 
    }; 
    angular.element(document.querySelector('#upload_button')).on('change', handleFileSelect);` 

正如你可以看到document.querySelector('#upload_button').on('change', handleFileSelect);

但我想这样做有拖&下降格:

<div class="drop-zone" id="upload_drop" > 
     <img src="../images/icon_cloud.png"/> 
     <font class="receipt_upload_font"> Beleg per Drag & Drop hinzufügen</font> 
     <font class="receipt_upload_oder_font"> oder unten "Beleg hinzufügen" klicken und Datei auswählen</font> 
    </div>` 

但我不知道该怎么做。 。:(我不能处理拖放的文件在div作为输入

+2

降低代码只什么是需要了解您的概率。 lem,这里有太多的方法,我不想阅读你的整个方法。请在发布新问题之前进行搜索。 [拖放文件到标准的html文件输入]可能重复(http://stackoverflow.com/questions/8006715/drag-drop-files-into-standard-html-file-input) – davidcondrey

+0

我认为这就是你需要的: https://jqueryui.com/droppable/。你需要那个jqui API,虽然 – SamyQc

+1

作为一个建议,不要使用''标签,它是从石器时代开始的。 –

回答

0

在我发现做一个最好的方式结束

虽然下降,我代替:

angular.element(document.querySelector('#upload_button')).on('change', handleFileSelect); 

这一个:

<div class="drop-zone" id="upload_drop" > 
    <img src="../images/icon_cloud.png"/> 
    <font class="receipt_upload_font"> Beleg per Drag & Drop hinzufügen</font> 
    <font class="receipt_upload_oder_font"> oder unten "Beleg hinzufügen" klicken und Datei auswählen</font> 
</div> 
<script> 
var dropZone = document.getElementById('upload_drop'); 

    // Get file data on drop 
    dropZone.addEventListener('drop', function(e) { 
     handleFileSelect(e); 
    }); 
<script> 

所以,当我放下东西工程