2012-09-01 19 views
5

"Gönderme ve bırakma" dosyaları form gönderiminde eklenebilir mi? Eşzamansız yükleme için birçok seçenek vardır.html5 sürükle ve bırak dosyaları - tüm form gönderildiğinde yükle

Dosya verilerini yakalamak ve bir form alanına eklemek mümkün mü? Öyle ideal görüntü için veri gibi bir forma uyabilecek benim sunucu olarak Rails kullanıyorum

aşağıdaki gibidir:

<form multipart='multipart' > 
    <select name='files[type_id]'> 
    ... 
    ... 
    </select> 
    <!-- FILE DATA ? --> 
    <div id="file_drop_spot"> 

    </div> 

</form> 

cevap

0

Bunun üzerine bu konuyu bulundu: drag drop files into standard html file input

Bilmiyorum mümkün olduğuna inanıyorum, ancak bu etkiyi elde edebilirsiniz. Formu gönderdiğinizde, varsayılan davranışını engelleyin ve dosyayı ajax ile karşıya yüklemeye başlayın. Dosya yükleme tamamlandığında, varsayılan davranışını engellemeden formu yeniden işaretleyin ve gönderin.

şey gibi: o zaman

<form id="form"> 
    <input type="text" name="someText"></input> 
    <input id="submitButton" type="submit" onclick="uploadFile()"></input> 
</form> 

Ve javascript:

function uploadFile() { 

    document.getElementById("submitButton").disabled = true; 
    // Some ajax code to upload the file and then on the success: 
    success: function() { 

     document.getElementById("form").submit(); 

    } 
    return false; // Prevent the form from submitting 

} 
+0

Bir işin fazla olacağını etrafında çünkü dosya –

+0

henüz oluşturulmuş olmayacak ile ilintili olmalıdır rekor Hm, anlıyorum ... Ama ajax gerçekten bir yazı, sanki bir formdanmış gibi. Bir formun aslında dosya verilerini nasıl gönderdiğinin okunmasını ve ardından da her şeyi ajax ile göndermenizi tavsiye ederim. Arka uç ajax veya normal form gönderimine bağlı olarak herhangi bir değişiklik yapmaya gerek duymamalıdır. İnanıyorum ;-) –