Ziehen und Ablegen mehrerer Dateien mit separaten Eingabe-Tags

Viel Code für dieses Beispiel, aber der Punkt ist:

Ich modifiziere ein in PHP und Javascript geschriebenes Plugin. I'm generieren eine Reihe von Eingabefeldern und Javascript schafft eine Drag & Drop-Funktionalität.

Es funktioniert gut für einzelne Dateien jedes Mal. (Ziehen und Ablegen von 1 Datei auf den Abschnitt für das Ablegen von Dateien, und wiederholen)

Aber es funktioniert nicht für mehrere Dateien, weil sie am Ende in 1 Eingabefeld (beim Hinzufügen "multiple" Attribut zu Eingabe-Elemente)

Im Grunde genommen die Zeile:

document.querySelector('.file-input-element'+j).files = ev.dataTransfer.files;

Diese Zeile setzt den Wert auf eine Datei oder mehrere Dateien, es ist ein Objekt vom Typ: FileList.

Aber ich kann es nicht schaffen, den Javascript-Code zu bekommen, um dieses Objekt zu teilen, ist es unmöglich? Wie auch immer, wenn jemand mir dabei helfen kann, wäre das nett. Irgendwie stecken Sie auf diese.

Zusammengefasst: Ich brauche zu ziehen und legen Sie mehrere Dateien (Bilder) und erhalten sie in separate Eingabeelemente.

<style>
    #drop_zone {
        width: 300px;
        height: 200px;
        border: 2px dotted red;
    }
</style>
<script>
    function dropHandler(ev) {
        console.log('File(s) dropped');

        // Prevent default behavior (Prevent file from being opened)
        ev.preventDefault();

        if (ev.dataTransfer.items) {
            // Use DataTransferItemList interface to access the file(s)
                    for (var j = 0; j < 10; j++) {
                        console.log(document.querySelector('.file-input-element'+j).files.length == 0);
                        if (document.querySelector('.file-input-element'+j).files.length == 0) {
                            // console.log(j+" is leeg dus vullen");
                            document.querySelector('.file-input-element'+j).files = ev.dataTransfer.files;
                            break; 
                        }
                    }

        } else {
            // Use DataTransfer interface to access the file(s)
            for (var i = 0; i < ev.dataTransfer.files.length; i++) {
                console.log('... file[' + i + '].name = ' + ev.dataTransfer.files[i].name);
            }
        }
    }
    function dragOverHandler(ev) {
        console.log('File(s) in drop zone'); 

        // Prevent default behavior (Prevent file from being opened)
        ev.preventDefault();
    }
</script>
<div class="fieldset marketplace-image">
    <h4 class="legend"><?php echo $this->__('Images'); ?></h4>
    <div id="drop_zone" ondrop="dropHandler(event);" ondragover="dragOverHandler(event);">
        <p>Drag one or more files to this Drop Zone ...</p>
    </div>
    <div id="marketplace_image_list">
        <?php for ($i=0; $i < 10; $i++): ?>
            <div class="market_place_add_image<?=$i;?>">
                <input class="file-input-element<?=$i;?>" type="file" name="image[<?=$i;?>][]">
            </div>
        <?php endfor; ?>
    </div>
</div>