2011-04-12 16 views
140

<input type="textarea"> के बजाय कोई तत्व <textarea> क्यों है?टेक्स्ट इनपुट क्यों नहीं है [type = "textarea"]?

+1

'इनपुट प्रकार =" चयन करें ">' के बजाय '' केवल एक बुनियादी इनपुट तत्व का प्रतिनिधित्व करता है। 'टाइप' विशेषता केवल उस मान के प्रकार का प्रतिनिधित्व करती है जो उसके पास है। – BalusC

उत्तर

165

हो सकता है कि यह भी बहुत दूर वापस एक सा जा रहा है लेकिन ...

, मेरा सुझाव है कि बहु-पाठ फ़ील्ड एक अलग प्रकार (उदाहरण के लिए "पाठ क्षेत्र") एकल लाइन क्षेत्रों की तुलना में चाहते हैं (" पाठ "), के रूप में वे वास्तव में चीजों के विभिन्न प्रकार के क्लाइंट साइड से निपटने के लिए विभिन्न मुद्दों (अर्थ विज्ञान)

हैं, और मतलब -। मुझे पता है Marc Andreessen, 11 October 1993

+15

हां, "अलग प्रकार", <इनपुट प्रकार = "textarea"> blah blah \ n \ n blah के माध्यम से वही हासिल नहीं किया जा सका? एक अलग टैग क्यों? – Serhiy

+1

@ सेरही मैं सहमत हूं, इसके लिए एक नया तत्व पेश करने के लिए बहुत अधिक समझदारी नहीं है (जैसे पासवर्ड के पास अपना तत्व नहीं है)। दुर्भाग्यवश डब्ल्यू 3 सी हमेशा सुसंगत नहीं है। – bart

+8

डब्ल्यू 3 सी काफी सुसंगत है। यह w3c –

67

ताकि इसका मूल्य आसानी से उद्धरण और <> पात्रों और सम्मान सफेद जगहों और न्यूलाइनों को प्राप्त कर सके।

निम्नलिखित HTML कोड सफलतापूर्वक w3c validator पास करता है और <,> और & को एन्कोड करने की आवश्यकता के बिना प्रदर्शित करता है। यह सफेद रिक्त स्थान का भी सम्मान करता है।

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8" /> 
    <title>Yes I can</title> 
</head> 
<body> 
    <textarea name="test"> 
     I can put <and> and & signs in 
     my textarea without any problems. 
    </textarea> 
</body> 
</html> 
+14

मैं एक डब्ल्यू 3 सी मूल मिथक पसंद करेंगे। –

+8

टेक्स्टरेरा तत्वों को सीडीएटीए युक्त परिभाषित नहीं किया गया है, आपको अभी भी '<', '&', आदि के लिए इकाइयों का उपयोग करने की आवश्यकता है।यह बस इतना है कि यह सफेद जगह को संभाल सकता है। – Quentin

+0

मैंने अभी इसका परीक्षण किया है और हां, आप अनएकोडेड <, > और टेक्स्टटेरा के भीतर रख सकते हैं। और यह सफलतापूर्वक डब्ल्यू 3 सी वैधता पास करता है। –

44

एक textarea, पाठ की एकाधिक पंक्तियां हो सकती इसलिए एक के लिए सक्षम नहीं होगा एक value विशेषता का उपयोग कर प्री-पॉप्युलेट यह।

इसी प्रकार, select तत्व को option उप-तत्वों को समायोजित करने के लिए अपना स्वयं का तत्व होना आवश्यक है।

+2

अंतर्दृष्टि जवाब! – JohnK

+0

कोई भी 'मूल्य' attr के साथ इसे पॉप्युलेट करने में सक्षम क्यों नहीं होगा? वैसे भी 'textarea' के आकार बदलने पर अगली पंक्ति में ओवरफ्लो लपेटता है। – OJFord

+2

आप गुणों में लाइन ब्रेक का उपयोग नहीं कर सकते हैं –

5

इस एक पुराने पोस्ट है, लेकिन यह हो सकता है सोचा किसी को भी आश्चर्यचकित रहें एक ही प्रश्न की अंगूठी:

जबकि पिछले उत्तरों में कोई संदेह नहीं है, टेक्स्टरेरा और इनपुट के बीच भेद के लिए एक और आसान कारण है।

जैसा कि पहले उल्लेख किया गया है, एचटीएमएल का उपयोग इनपुट रूपों सहित वेब सामग्री को जितना संभव हो उतना अर्थपूर्ण संरचना का वर्णन करने और देने के लिए किया जाता है। एक textarea इनपुट के लिए उपयोग किया जा सकता है, हालांकि एक textarea को केवल पढ़ने योग्य विशेषता के माध्यम से पढ़ने के रूप में चिह्नित किया जा सकता है। इस तरह के एक विशेषता का अस्तित्व इनपुट प्रकार, और इस प्रकार भेद के लिए कोई समझ नहीं लेगा।

+7

यह उचित लगता है, सिवाय इसके कि 'इनपुट [टाइप = "टेक्स्ट"] 'पढ़ा जा सकता है * विशेषता भी। जो कि अजीब तरह का है, अब आप इसे इंगित करते हैं! http://www.w3.org/TR/html-markup/input.text.html#input.text.attrs.readonly – Matt

16

यह उस समय प्रौद्योगिकी की एक सीमा थी जब इसे बनाया गया था। My answer copied over from Programmers.SE:

मूल HTML drafts में से एक से:

नोट: रूपों के लिए प्रारंभिक डिजाइन में, बहु लाइन पाठ फ़ील्ड साथ प्रकार = पाठ इनपुट तत्व द्वारा समर्थित थे। दुर्भाग्यवश, यह लंबे टेक्स्ट मान वाले फ़ील्ड के लिए समस्याएं पैदा करता है। एसजीएमएल का डिफ़ॉल्ट (संदर्भ मात्रा सेट) विशेषता साहित्य की लंबाई केवल 240 वर्णों तक सीमित करता है। एचटीएमएल 2.0 एसजीएमएल घोषणा को 1024 वर्णों तक सीमित करती है।

+0

यह वास्तव में स्वीकार्य उत्तर होना चाहिए। – zfrisch

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