2013-10-11 6 views
5

पर क्लिक न करें मेरे पास एक इनपुट बॉक्स है और मैं चाहता हूं कि उपयोगकर्ता खुले फ़ाइल संवाद को दिखाने के लिए इनपुट बॉक्स पर क्लिक करें और उसी इनपुट बॉक्स में फ़ाइल नाम दिखाएं। लेकिन अगर मैं इनपुट प्रकार = "फ़ाइल" का उपयोग करता हूं, तो यह "फ़ाइल बटन चुनें" दिखाएगा, मैं बटन दिखाने के लिए नहीं चाहता हूं। मैं यह कैसे कर सकता हूं?खुली फ़ाइल संवाद दिखाने के लिए इनपुट बॉक्स पर क्लिक करें, लेकिन फ़ाइल बटन

एचटीएमएल:

<div class="fileupload"> 
    <input type="file" class="file" name="image" /> 
</div> 

<div class="fileupload"> 
    <input type="file" class="file" name="attachement" /> 
</div> 

http://jsfiddle.net/EctCK/ ** मैं इस वान न, मैं कैसे फ़ाइल बटन का चयन छिपाऊँ?

उत्तर

13

आप एक स्टाइल बटन या अन्य तत्व पर एक पारदर्शी <input type="file"/> ओवरले कर सकते हैं।

<input type="file" style="opacity:0;"/> 

एक काम डेमो के लिए इस JSFiddle देखें।

+1

पर यह वास्तव में रचनात्मक हैक है! – guest

+1

या आप बेहतर क्रॉस-एंड-पुरानी ब्राउज़र संगतता – tomasb

+0

@SuperScipt के लिए div के ऑनक्लिक() के भीतर एक गैर-प्रदर्शित के क्लिक() विधि को कॉल कर सकते हैं, अगर मैं खुली फ़ाइल संवाद नहीं चाहता हूं लेकिन इसके बजाय डील संवाद के रूप में सहेजें? – bleykFaust

7

वैसे इसके लिए थोड़ा हैक है। आपको पृष्ठ पर फ़ाइल अपलोड नियंत्रण की आवश्यकता है। लेकिन आप इसे छिपा सकते हैं और div/span/बटन जैसे किसी भी अन्य नियंत्रण का उपयोग कर फ़ाइल अपलोड नियंत्रण अनुकरण कर सकते हैं और जैसा चाहें स्टाइल कर सकते हैं। यहां jsfiddle पर एक कामकाजी नमूना है।

HTML:

<div id="dummy" class="dummyDiv"> 
    <span>click to chose file:</span> 
    <span id="fileName" class="yellow"></span> 
</div> 
<div class="wrapper"> 
    <input type="file" id="flupld" /> 
</div> 

जे एस:

$("#dummy").click(function() { 
    $("#flupld").click(); 
}); 

$("#flupld").change(function() { 
    //file input control returns the file path as C:\fakepath\<file name> 
    //on windows, so we remeove it and show only file name. 
    var file=$(this).val().replace(/C:\\fakepath\\/ig,''); 

    $("#fileName").text(file); 
}); 
+0

यह प्रदर्शन का उपयोग कर एक बहुत अच्छी चाल है: कोई भी – shevy

+0

कोई फ़ाइल नाम पूर्व-चयन करने का कोई तरीका है? यही कहना है, जब संवाद खुला होता है, तो कोई एक "सुझाए गए" फ़ाइल नाम देखता है – Pathros

-1

यह प्रयास करें:

<input type="file" id="upload" style="display:none"> 
    <a href="" onclick="document.getElementById('upload').click(); return false;"> Upload </a> 

कार्य नमूना JSFiddle

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