2013-01-10 15 views
11

mam wejście zwyczaj pliku:Dodaj plik spadła do wejścia pliku za pomocą jQuery

<div id="wrapper"> 
    <span id="fake-text-input"></span> 
    <button id="select-a-file"></button> 
    <input id="hidden-file-input" type="file" /> 
</div> 

input[type="file"] jest ukryty (display: none) i wybierając plik jest obsługiwany przez słuchanie \ wyzwalania zdarzeń click i change.

Chcę również obsługiwać zrzut plików. Mogłem wysłuchać zdarzenia drop, gdy plik został upuszczony na #fake-text-input, ale nie wiem, jak przekazać zdarzenie drop do input[type="file"] .. czy to możliwe?

Nie jestem zainteresowany wejściowych plik sztuczek krycia :)

$('body').on('drop', '#wrapper', function(e) { 
    var file = e.originalEvent.dataTransfer.files[0]; 

    // I have the file.. now what? 
}); 
+0

można podać swój kod co próbowałeś? – insomiac

+0

Powinieneś rzucić okiem na to SOq. http://stackoverflow.com/questions/8006715/drag-drop-files-into-standard-html-file-input – cggaurav

+0

@insomiac zobacz moją edycję. Nie ma zbyt wiele kodu ... – tamir

Odpowiedz

12

ten pracował ze mną w Google Chrome, problem teraz z innymi przeglądarkami

$("input[type='file']").prop("files", e.originalEvent.dataTransfer.files); 
+3

cóż, daj mi znać, jeśli znajdziesz rozwiązanie – tamir

+0

@ nassimPHP, czy znalazłeś rozwiązanie? –

Powiązane problemy