2011-05-24 7 views
25

मुझे "कोई फ़ाइल चयनित नहीं" टेक्स्ट निकालने के लिए वैसे भी पता लगाना प्रतीत नहीं होता है जो टाइप = "फ़ाइल" के साथ मेरे इनपुट के बगल में दिखाई देता है।वैसे भी टाइप = फ़ाइल इनपुट से "कोई फ़ाइल चयनित नहीं" निकालने के लिए?

क्या आप किसी भी तरह से जानते हैं? Safari Screenshot

+1

इनपुट करने के लिए इस जोड़ने वेबकिट में काम करने के लिए .... लग रहा था शैली = "चौड़ाई: 80px; ऊंचाई: 25 पीएक्स; अतिप्रवाह:। छिपा हुआ, " – Peter

+0

संभावित डुप्लिकेट: http://stackoverflow.com/questions/1084925/input-type-file-show-only-button –

उत्तर

8

ऐसा करने के लिए कोई क्रॉस-ब्राउज़र तरीका नहीं है। "कोई फ़ाइल चयनित नहीं" टेक्स्ट विजेट के कार्यान्वयन-परिभाषित भाग में है, और मुझे विश्वास नहीं है कि अधिकांश ब्राउज़र ब्राउज़र-विशिष्ट अनुकूलन के तरीके में बहुत अधिक ऑफर करते हैं। दूसरी तरफ, जब आप मान विशेषता खाली होती है तो आप टेक्स्ट को कवर करने के लिए सीएसएस का उपयोग कर सकते हैं।

8

आप इनपुट करने के लिए एक चौड़ाई को परिभाषित करने और अधिक सामग्री (अवांछित "कोई फ़ाइल चयनित नहीं" पाठ) छुपा कर ऐसा कर सकते हैं।

input { 
    width: 132px; 
    overflow:hidden; 
} 

Here is the demonstration on jsfiddle

सावधान रहें: प्रत्येक भाषा का अपना डिफ़ॉल्ट टेक्स्ट होता है और यह विभिन्न इनपुट आकार प्रस्तुत कर सकता है। In brazilian portuguese कि 132 पीएक्स चौड़ाई ठीक है!

मेरा उत्तर this similar question on stackoverflow पर आधारित था।

+0

आईई –

+0

पर काम नहीं कई डालने के लिए मेरे लिए काम किया .. तालिका में –

0

यह वास्तव में एक अच्छा हैक है और यह बहुत साफ है।

एचटीएमएल

<div id="file_info' style='display:inline;'>Browse</div> 
<input type="file" name='file[]' multiple style='opacity: 0;' onchange='displayFileName()'/> 

जे एस

function displayFileName() { 
    var files = $('input[type="file"]')[0].files; 
    document.getElementById('file_info').innerHTML = files.length + " images to upload";` 
} 
1
CSS 
<style> 
#image_file{ 
    position: relative; 
    width: 188px; 
    border: 1px solid #BBB; 
    margin: 1px; 
    cursor: pointer; 
    float: left; 
    } 
</style> 

HTML 
<input id="image_file" onclick="getFile()" onfocus="this.blur()" value=""/> 
<div style='height: 0px;width: 0px; overflow:hidden;'> 
    <input type="file" id="PinSpot_file"> 
</div> 
<input type="button" onclick="getFile()" style="background-color: #DDD;" value="Browser" > 


JAVASCRIPT 
function getFile(){ 
    document.getElementById("PinSpot_file").click(); 
} 

// Event when change fields 
$('#PinSpot_file').live('change', function(e) {  
    var file = this.value; 
    var fileName = file.split("\\"); 
    document.getElementById("image_file").value = fileName[fileName.length-1]; 

    //AJAX 
} 
32
input[type='file'] { 
    color: transparent; 
} 

का आनंद लें

+0

माउसओवर या कर्सर-परिवर्तन अभी भी वहां है। – MERose

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