2008-09-20 13 views
16

मुझे पता है कि ब्राउज़म बटन को प्रतिस्थापित करना संभव है, जो HTML में जेनरेट किया गया है, जब आप inputtype="file के साथ टैग का उपयोग करते हैं।एचटीएमएल में फ़ाइल ब्राउज़ बटन को बदलने का सबसे अच्छा तरीका क्या है?

मुझे यकीन नहीं है कि सबसे अच्छा तरीका क्या है, इसलिए अगर किसी के पास इसका अनुभव है तो कृपया योगदान दें। और पूरी तरह से स्थिति कुछ - (: या "प्रदर्शन से कोई भी" ऐसा नहीं करते हैं "छिपादृश्यता" यह एक बहुत कम अस्पष्टता देकर)

उत्तर

22

सबसे अच्छा तरीका है फ़ाइल इनपुट नियंत्रण लगभग अदृश्य बनाने के लिए है इसके तहत - जेड-इंडेक्स के साथ।

इस तरह, वास्तविक नियंत्रण दिखाई नहीं देगा, और जो भी आप इसके तहत रखेंगे, वह दिखाएगा। लेकिन चूंकि नियंत्रण उस बटन के ऊपर स्थित है, फिर भी यह क्लिक इवेंट कैप्चर करेगा (यही कारण है कि आप अस्पष्टता का उपयोग करना चाहते हैं, दृश्यता या प्रदर्शन नहीं - ब्राउज़र यदि आप इसे छिपाने के लिए उपयोग करते हैं तो तत्व तत्व को अनजान बनाते हैं)।

This article तकनीक पर गहराई से चला जाता है।

+2

यह इतना हैकी लगता है, यह बहुत बुरा है कि बेहतर तरीका नहीं है (टीएम)। –

0

यह सुरक्षा उद्देश्यों के लिए तकनीकी रूप से संभव नहीं है, इसलिए उपयोगकर्ता को गुमराह नहीं किया जा सकता है।

हालांकि, कुछ कामकाज हैं - एक उदाहरण के लिए http://www.quirksmode.org/dom/inputfile.html पर एक नज़र डालें।

रिकॉर्ड के लिए, यह प्रश्न पहले से ही here (जहां मैंने वही उत्तर दिया था) से पूछा जा चुका है।

5

ब्राउज़र वास्तव में फ़ाइल इनपुट के साथ गड़बड़ करने के लिए आपको पसंद नहीं करते हैं, लेकिन ऐसा करना संभव है। मैंने कुछ तकनीकों को देखा है, लेकिन सबसे आसान यह है कि आप जो कुछ भी बटन के रूप में उपयोग करना चाहते हैं, उस पर फ़ाइल इनपुट को पूरी तरह से स्थापित करना है, और इसकी अस्पष्टता शून्य या निकट-शून्य पर सेट करें। इसका अर्थ यह है कि जब उपयोगकर्ता छवि पर क्लिक करता है (या जो भी आपके पास है) वे वास्तव में अदृश्य ब्राउज़ बटन पर क्लिक कर रहे हैं।

उदाहरण के लिए:

<input type="file" id="fileInput"> 
<img src="..."> 
#fileInput{ 
    position: absolute; 
    opacity: 0; 
    -moz-opacity: 0; 
    filter: alpha(opacity=0); 
} 
2

आप जावास्क्रिप्ट आप 0 करने के लिए फ़ाइल-इनपुट के opasity सेट कर सकते हैं का उपयोग कर कोई आपत्ति नहीं है, z- सूचकांक के माध्यम से शीर्ष पर अपने स्टाइल नियंत्रण जगह है और भेज अपने बटन से क्लिक-इन फ़ाइल-इनपुट में क्लिक करें। तकनीक के लिए यहां देखें: http://www.quirksmode.org/dom/inputfile.html

0

आप इसे करने के लिए SWFupload जैसे फ़्लैश अपलोडर का भी उपयोग कर सकते हैं।

+1

फ्लैश मर चुका है .. – devXen

+0

@ चेन्सफॉर्मर्स उस के साथ आठ साल पुराने धागे को बंप करने के लिए धन्यवाद, मुझे लगता है? – ceejayoz

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

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