2012-09-01 18 views
5

क्या फ़ॉर्म भरने में "ड्रैग और ड्रॉप" फ़ाइलों को शामिल करना संभव है? असीमित रूप से अपलोड करने के लिए बहुत सारे विकल्प हैं।html5 ड्रैग और ड्रॉप फ़ाइलें - पूरे फॉर्म को सबमिट होने पर अपलोड करें

क्या फ़ाइल डेटा को कैप्चर करना और इसे फॉर्म फ़ील्ड में शामिल करना संभव है?

मैं अपने सर्वर के रूप में रेल का उपयोग कर रहा है ताकि आदर्श छवि के लिए डेटा की तरह एक फार्म के लिए फिट हैं इस प्रकार है:

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

    </div> 

</form> 

उत्तर

0

मैं इस पर इस मुद्दे को मिला: drag drop files into standard html file input

मुझे नहीं पता मानना ​​है कि यह संभव है, लेकिन आप प्रभाव प्राप्त कर सकते हैं। जब आप फॉर्म जमा करते हैं, तो इसके डिफ़ॉल्ट व्यवहार को रोकें और फ़ाइल को AJAX के साथ अपलोड करना प्रारंभ करें। जब फ़ाइल अपलोड पूर्ण हो जाता है तो आप फॉर्म को फिर से इंगित करते हैं और इसे अपने डिफ़ॉल्ट व्यवहार को रोकने के बिना सबमिट करते हैं।

कुछ की तरह:

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

और फिर जावास्क्रिप्ट:

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

यह एक काम के अधिक होगा चारों ओर क्योंकि रिकॉर्ड फ़ाइल के साथ अभी तक नहीं बनाई गई है नहीं होगा –

+0

संबद्ध होने की आवश्यकता एचएम, मैं देखता हूं ... लेकिन अजाक्स वास्तव में सिर्फ एक पोस्ट है, जैसे कि यह एक रूप से था। मैं इस बात को पढ़ने की सिफारिश करता हूं कि एक फॉर्म वास्तव में फ़ाइल डेटा कैसे भेजता है और फिर पूरी चीज़ को AJAX के साथ भेजता है। बैकएंड को AJAX या सामान्य फॉर्म सबमिट के आधार पर किसी भी बदलाव की आवश्यकता नहीं है। मेरा मानना ​​है ;-) –

संबंधित मुद्दे