2012-05-24 21 views
10

बेशक, मैं मानक HTML टेक्स्ट बॉक्स का उपयोग कर सकता हूं, लेकिन मुझे किसी कारण से टेक्स्ट क्षेत्र की आवश्यकता है।क्या टेक्स्टरेरा के मल्टीलाइन विकल्प को अक्षम करना संभव है?

तो, क्या टेक्स्टरेरा के मल्टीलाइन विकल्प को अक्षम करना संभव है?

+0

http://stackoverflow.com/questions/5424001/how-to-disable-multiline-input-being- गतिशील-resized-by-user – vijaykumar

उत्तर

1

केवल 1 लाइन प्रदर्शित करने के लिए पंक्तियों = 1 का उपयोग करें। आप इस link

+0

मैंने पहले ही इसे किया है, लेकिन मल्टीलाइन अभी भी काम कर रहा है। – tesicg

+0

टेस्टरेरा का मुख्य उपयोग डेटा की एक पंक्ति है यदि आप एकल लाइन चाहते हैं तो टेक्स्टबॉक्स का उपयोग करें। – Zlatan

1

से आगे और अधिक जानकारी प्राप्त कर सकते हैं आप 1.

यह बहु

9

आप का उपयोग कर अपने पाठ क्षेत्र के आकार सेट कर सकते हैं निष्क्रिय करने के लिए संभव नहीं है करने के लिए rows विशेषता सेट कर सकते हैं cols और rows गुण और इसे सीएसएस में गैर-आकार देने योग्य बनाते हैं लेकिन आप उपयोगकर्ता को एक से अधिक पंक्ति जोड़ने से नहीं रोक सकते हैं। यहां तक ​​कि यदि क्षेत्र बहुत छोटा है, तो एक स्क्रॉलबार दिखाई देगा और उन्हें जितनी चाहें उतनी पंक्तियां लिखने देंगी।

यदि आपको वास्तव में केवल एक पंक्ति प्राप्त करने की आवश्यकता है, तो मैं सुझाव देता हूं कि rows विशेषता 1 पर सेट करें और जांच करें कि इनपुट में जावास्क्रिप्ट के साथ एक पंक्ति है या नहीं।

एचटीएमएल में:

<textarea name="a" cols="5" rows="1" ></textarea> 

सीएसएस में:

textarea{ 
    resize: none; 
    #You can use resize: horizontal if you just want to disable vertical resize 
} 

फिर भी, मैं का उपयोग कर एक <input type="text" ... /> आप इसे से बचने के लिए क्यों करना चाहते हैं सुझाव देंगे?

+5

यह ओपी का उपयोग मामला नहीं हो सकता है, लेकिन मूलभूत समृद्ध सिंगल-लाइन इनपुट बनाने के दौरान मैंने इस समस्या में भाग लिया है (टेक्स्टबॉक्स के भीतर कुछ शब्दों या शब्द समूहों के स्टाइल के लिए अनुमति देता है)। इसे प्राप्त करने के लिए, मैंने 'पॉइंटर-इवेंट्स' के साथ एक स्टाइल div को ओवरलैड किया है: कोई भी नहीं; स्क्रॉल पर इनपुट के साथ समन्वयित रखने के लिए (जब उपयोगकर्ता किनारे से परे टाइप करता है), तो आपको स्क्रॉल ईवेंट सुनने की आवश्यकता होती है। दुर्भाग्य से, केवल एक textarea एक आग (इनपुट से मना कर दिया जाएगा)। तो इस मामले में, इनपुट से बचा जाना चाहिए। –

+0

यह काम नहीं करता प्रतीत होता है (अब): https://jsfiddle.net/73prdyze/ –

+0

@ निकोलोसुर्डू कैसे? जिस पहेली से आपने लिंक किया है, वह ठीक उसी तरह काम करता है जैसा मैंने वर्णन किया था। कम से कम क्रोम और एज में। – toniedzwiedz

-2

निम्न jQuery स्निपेट एक सिंगल लाइन में प्रदर्शित होने के लिए textarea को मजबूर करता है।

$(document).ready(function(){ 
    $('textarea').each(function(){$(this).attr('rows', 1);}); 
    }); 
5

आप <textarea> पर सेटिंग्स rows="1" द्वारा एक पंक्ति पर सभी पाठ रख सकते हैं, जैसे अन्य जवाब का सुझाव दिया है, और फिर पाठ क्षेत्र निम्न CSS लागू करने:

resize: none; 
white-space: nowrap; 
overflow-x: scroll; 

यह सीएसएस एक पंक्ति को लपेटने से रोक देगा, जबकि दृश्यमान क्षेत्र को ओवरफ्लो करने वाले किसी भी पाठ को नेविगेट करने के लिए स्क्रॉल बार प्रदान करके पूरी लाइन को दिखाई दे रहा है।

+1

चेतावनी: यहां तक ​​कि' व्हाइट-स्पेस: अब्रैप 'होने पर भी यह सब कुछ 1 लाइन पर प्रदर्शित करेगा ('पंक्तियां =" 1 "या अन्यथा), यह अभी भी सभी वर्ण लेता है जो उपयोगकर्ता टेक्स्टबॉक्स में दर्ज कर सकते हैं जिसमें कैरिज रिटर्न शामिल नहीं हैं। – cusman

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