क्यों textarea एक इनपुट नहीं है [type = "textarea"]?


153

<textarea>इसके बजाय एक तत्व क्यों है <input type="textarea">?


1
वहाँ भी जिस तरह से एक से है <select>के बजाय <input type="select"><input>सिर्फ एक बुनियादी इनपुट तत्व का प्रतिनिधित्व करता है। typeविशेषता सिर्फ मूल्य इसे धारण के प्रकार का प्रतिनिधित्व करता है।
बालुसक

जवाबों:


176

शायद यह बहुत दूर जा रहा है लेकिन ...

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

- मार्क आंद्रेसेन, 11 अक्टूबर 1993


18
हाँ, "भिन्न प्रकार", <इनपुट प्रकार = "textarea"> blah blah \ n \ n blah </ input> के माध्यम से प्राप्त नहीं किया जा सकता है? एक अलग टैग क्यों?
सेरही

8
w3c बहुत सुसंगत है। यह w3c से पहले था
मार्क सिडेड

10
मुझे आश्चर्य है कि यह इस तरह कैसे बढ़ गया। प्रश्न 'टेक्स्ट' और 'टेक्स्टारिया' के बीच के अंतर के बारे में नहीं है, बल्कि मल्टी-लाइन टेक्स्ट को <textarea> टैग के बजाय 'टाइप = टेक्स्टारिया' विशेषता के रूप में <इनपुट> टैग में शामिल करने का कारण है।
फॉरएवर

6
@ इसके बारे में प्रत्यक्ष रूप से एक उत्तर के रूप में यह मिलता है। एक कारण यह भी है textareaक्योंकि मार्क आंद्रेसेन ने अक्टूबर 1993 में इसे उपरोक्त कारणों से वापस प्रस्तावित किया था।
मार्सेल

5
@Marcel मार्क एंड्रीसन सुझाव दिया है कि वहाँ एक अलग होना चाहिए प्रकार नहीं टैग । टैग की typeविशेषता के विभिन्न मूल्यों द्वारा निरूपित विभिन्न प्रकार के इनपुट हैं inputऔर वे सभी एक और एक ही inputटैग को साझा करते हैं । तो नहीं, यह उद्धरण इस प्रश्न का उत्तर नहीं है।
पायोटर डोब्रोगोस्ट

69

ताकि इसके मूल्य में आसानी से उद्धरण और <> अक्षर शामिल हो सकें और व्हाट्सएप और नईलाइनों का सम्मान किया जा सके।

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

<!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>

16
मैं एक w3c मूल मिथक पसंद करता हूँ।
k से z

9
पाठ क्षेत्र तत्व के रूप में CDATA युक्त परिभाषित नहीं कर रहे हैं, तब भी आप के लिए उपयोग संस्थाओं की जरूरत है <, &आदि यह सिर्फ इसलिए यह खाली स्थान के संभाल सकता है।
क्वेंटिन

मैंने अभी इसका परीक्षण किया है और हां, आप एक टेक्स्ट के भीतर अनएन्कोडेड <,> और & डाल सकते हैं। और यह w3c सत्यापनकर्ता को सफलतापूर्वक पास करता है।
गुइल्यूम एस्क्विन

@ktothez: मेरा जवाब देखें ।
मार्सेल

2
यहाँ एक उचित जवाब नहीं है। सामान्य रूप से जीवन के साथ (जैसे, एक बॉक्स के बाहर) कुछ होने के कई कारण होते हैं।
जॉन

49

A textareaमें पाठ की कई पंक्तियाँ हो सकती हैं, इसलिए कोई एक valueविशेषता का उपयोग करके इसे पूर्व-आबाद करने में सक्षम नहीं होगा ।

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


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

3
आप विशेषताओं में रेखा विराम का उपयोग नहीं कर सकते
मार्क सिडेड

23

यह उस समय बनाई गई तकनीक की एक सीमा थी। मेरा जवाब प्रोग्रामर से कॉपी किया गया। एसई :

मूल HTML ड्राफ्ट में से एक से :

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


6

मुझे लगता है कि यह एक पुरानी पोस्ट है, लेकिन यह किसी को भी एक ही सवाल सोच के लिए उपयोगी हो सकता है सोचा:

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

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


9
यह उचित लगता है, सिवाय इसके कि input[type="text"]ले जा सकते हैं केवल पढ़ने के लिए विशेषता भी। जो अजीब की तरह है, अब जब कि आप इसे इंगित करते हैं! w3.org/TR/html-markup/input.text.html#input.text.attrs.readonly
मैट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.