Html <textarea> के लिए डिफ़ॉल्ट मान कैसे जोड़ें? [बन्द है]


349

मैं अपने html के लिए एक डिफ़ॉल्ट मान सेट करना चाहता हूं <textarea>। मैं एक ऐसी सामग्री से पढ़ता हूं जिसमें डिफ़ॉल्ट मूल्य जोड़ने के लिए आपको कुछ करना होगा <textarea>This is default text</textarea>। मैंने ऐसा किया लेकिन यह काम नहीं करता है। सही बात क्या है?


1
जिस तरह से आप दिखाते हैं कि यह कैसे काम करना है। अपना HTML कोड दिखाएं यदि यह नहीं है
Pekka

कृपया अपने html को दिखाएं ...
डैनियल रामिरेज़-एस्कुडेरो

1
इसमें दिए गए कोड प्रयास के बिना प्रश्न के उत्तर सूट । आइए इस प्रयास के बिना प्रश्न का इलाज करें, इसलिए प्रश्न "कोड नहीं" के लिए नहीं किया जाएगा या "अब पुन: उत्पन्न किया जा सकता है" करीबी कारणों से।
सवेरेव्व सिप

जवाबों:



94

आप प्लेसहोल्डर विशेषता का उपयोग कर सकते हैं , जो एक डिफ़ॉल्ट मान नहीं जोड़ता है, लेकिन हो सकता है कि आप इसके लिए क्या देख रहे हैं:

<textarea placeholder="this text will show in the textarea"></textarea>

इसे यहाँ देखें - http://jsfiddle.net/8DzCE/949/ यहां छवि विवरण दर्ज करें

महत्वपूर्ण नोट (टिप्पणियों में जॉन ब्रेव द्वारा सुझाए गए) :

प्लेसहोल्डर विशेषता एक textarea के मूल्य निर्धारित नहीं करता है। बल्कि "प्लेसहोल्डर विशेषता एक छोटे संकेत (एक शब्द या संक्षिप्त वाक्यांश) का प्रतिनिधित्व करती है, जिसका उद्देश्य उपयोगकर्ता को डेटा प्रविष्टि के साथ सहायता करना है जब नियंत्रण का कोई मूल्य नहीं है" [और जैसे ही उपयोगकर्ता टेक्स्टारिया में क्लिक करता है] गायब हो जाता है। यह नियंत्रण के लिए कभी भी "डिफ़ॉल्ट मान" के रूप में कार्य नहीं करेगा। यदि आप ऐसा चाहते हैं, तो आपको वांछित पाठ को यहाँ रखना होगा, यहाँ अन्य डिफ़ॉल्ट उत्तर के अनुसार वास्तविक डिफ़ॉल्ट मान है


14
आपको यह स्पष्ट करना चाहिए कि placeholderइसका मान निर्धारित नहीं है textarea। बल्कि "प्लेसहोल्डर विशेषता एक छोटे संकेत (एक शब्द या संक्षिप्त वाक्यांश) का प्रतिनिधित्व करती है, जिसका उद्देश्य उपयोगकर्ता को डेटा प्रविष्टि के साथ सहायता करना है जब नियंत्रण का कोई मूल्य नहीं है" [और जैसे ही उपयोगकर्ता टेक्स्टारिया में क्लिक करता है] गायब हो जाता है। यह नियंत्रण के लिए कभी भी "डिफ़ॉल्ट मान" के रूप में कार्य नहीं करेगा। यदि आप ऐसा चाहते हैं, तो आपको <textarea>Here is the actual default value</textarea>यहां दिए गए अन्य उत्तरों के अनुसार, वांछित पाठ को अंदर रखना होगा ।
जॉनब्र्वे

10
यह वास्तव में एक बहुत ही खतरनाक उपाय है। कृपया, प्लेसहोल्डर को कभी भी डिफ़ॉल्ट मान के साथ भ्रमित न करें।
क्वर्टी

@Qwerty - हाँ, हमें प्लेसहोल्डर को डिफ़ॉल्ट मान के साथ भ्रमित नहीं करना चाहिए। लेकिन खतरनाक .... क्या आप किसी भी उदाहरण / मामले को बता सकते हैं कि यह कहाँ और कैसे खतरनाक हो सकता है (नुकसान या चोट के कारण सक्षम या संभावना है)?
भाव्या_व

1
प्लेसहोल्डर एक फॉर्म में नहीं भेजेगा। यह खतरनाक है अगर आप या आपके उपयोगकर्ता इसे भेजने की उम्मीद करते हैं।
क्वर्टी

2
यदि मान सबमिट नहीं किया जाएगा, तो यह एक डिफ़ॉल्ट मान नहीं है, बल्कि एक संकेत है। यदि मैं एक डिफ़ॉल्ट मान की तलाश कर रहा हूं, तो मैं उम्मीद करता हूं कि यह एक डिफ़ॉल्ट मान के रूप में व्यवहार करेगा और जो खतरनाक है वह यह है कि यह अपेक्षित व्यवहार प्रदर्शित नहीं करता है। खतरनाक यह मान लेना है कि इस समाधान को हल किया जाएगा जो पूछा गया था। लेकिन आपके लिए यह सही है कि मैं वास्तव में ए की तलाश में हूं , लेकिन बी के लिए पूछ रहा हूं । और यदि आप स्पष्ट रूप से कहते हैं कि आपके उत्तर में, आपका उत्तर वैध होगा। आप सही कह रहे हैं कि यह ज्ञान की कमी के बारे में है, लेकिन इस जवाब की तलाश करने वाले लोगों में इस ज्ञान की कमी है।
क्वर्टी

20

यदि आप एक डेटाबेस से टेक्स्टरी टैग में संपादन के लिए जानकारी लाना चाहते हैं: इनपुट टैग डेटा को प्रदर्शित करने के लिए नहीं है जो कई लाइनों पर कब्जा कर लेता है: पंक्तियां कोई काम नहीं करती हैं, टैग इनपुट एक पंक्ति है।

<!--input class="article-input" id="article-input" type="text" rows="5" value="{{article}}" /-->

Textarea टैग का कोई मूल्य नहीं है , लेकिन हैंडलबार्स के साथ ठीक काम करते हैं

<textarea class="article-input" id="article-input" type="text" rows="9" >{{article}}</textarea> 

9

बस मामले में आप उपयोग कर रहे हैं Angular.js अपनी परियोजना में (के रूप में मैं कर रहा हूँ) और एक है ng-modelआपके लिए सेट <textarea>, की तरह बस के अंदर डिफ़ॉल्ट सेटिंग:

<textarea ng-model='foo'>Some default value</textarea>

...काम नहीं करेगा!

आपको ng-modelसंबंधित नियंत्रक या उपयोग में textarea के लिए डिफ़ॉल्ट मान सेट करने की आवश्यकता है ng-init

उदाहरण 1 (उपयोग करके ng-init):

उदाहरण 2 (बिना उपयोग के ng-init):


1
अय ने इस स्टैकओवरफ्लो को पाया ।.com/a/25391822/ 2199525 - चीजों को और भी स्पष्ट कर दिया।
9

7

कुछ नोट्स और स्पष्टीकरण:

  • placeholder='' अपने पाठ को सम्मिलित करता है, लेकिन इसे बाहर निकाल दिया जाता है (टूल-टिप शैली प्रारूप में) और जिस क्षण क्षेत्र पर क्लिक किया जाता है, आपके पाठ को एक खाली पाठ फ़ील्ड द्वारा बदल दिया जाता है।

  • value=''एक <textarea>विशेषता नहीं है , और केवल <input>टैग, यानी, <input type='text'>आदि के लिए काम करता है । मुझे नहीं पता कि एचटीएमएल 5 के रचनाकारों ने इसे शामिल करने का फैसला क्यों नहीं किया, लेकिन यह अभी के लिए है।

  • <textarea>तत्वों में पाठ सम्मिलित करने के लिए सबसे अच्छी विधि यहाँ सही ढंग से उल्लिखित की गई है: <textarea> Desired text to be inserted into the field upon page load </textarea>जब उपयोगकर्ता फ़ील्ड पर क्लिक करता है, तो वे पाठ को संपादित कर सकते हैं और यह क्षेत्र में (विपरीत placeholder='') रहता है ।

  • नोट: यदि आप <textarea>और </textarea>टैग के बीच पाठ सम्मिलित करते हैं, तो आप इसका उपयोग नहीं कर सकते हैं placeholder=''क्योंकि यह आपके सम्मिलित पाठ द्वारा अधिलेखित हो जाएगा।

6

जब मैं ऐसा कुछ करता हूं तो यह मेरे लिए काम करता है:

<textarea name="test" rows="4" cols="6">My Text</textarea>

4

इसके अलावा, यह मेरे लिए बहुत अच्छा काम करता है:

<textarea class="form-control" rows="3" name="msg" placeholder="Your message here." onfocus='this.select()'>
<?php if (isset($_POST['encode'])) { echo htmlspecialchars($_POST['msg']);} ?>
</textarea>

इस मामले में, $ _POST ['एनकोड'] इस से आया:

<input class="input_bottom btn btn-default" type="submit" name="encode" value="Encode">

PHP कोड टैग और टैग के बीच डाला गया था।


3

प्लेसहोल्डर पाठ क्षेत्र के लिए डिफ़ॉल्ट मान सेट नहीं कर सकता है। आप उपयोग कर सकते हैं

<textarea rows="10" cols="55" name="description"> /*Enter default value here to display content</textarea>

यह टैग है यदि आप इसे डेटाबेस कनेक्शन के लिए उपयोग कर रहे हैं। यदि आप php के अलावा अन्य भाषाओं का उपयोग कर रहे हैं, तो आप अलग-अलग वाक्यविन्यास का उपयोग कर सकते हैं।

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

<textarea rows="10" cols="55" name="description" required><?php echo $description; ?></textarea>

आवश्यक आदेश php का उपयोग करके खाली क्षेत्रों की जांच करने के लिए आवश्यक प्रयासों को कम करता है।


1

आप इस.innerHTML का उपयोग कर सकते हैं।

<textarea name="message" rows = "10" cols = "100" onfocus="this.innerHTML=''"> Enter your message here... </textarea>

जब पाठ क्षेत्र पर ध्यान केंद्रित किया जाता है, तो यह मूल रूप से textarea के आंतरिक HTML को एक खाली स्ट्रिंग बनाता है।


-1

कृपया ध्यान दें कि यदि आपने रेंडर करने के बाद टेक्सटेरिया में बदलाव किए हैं; आपको इनिशियलाइज्ड वैल्यू के बदले अपडेटेड वैल्यू मिलेगी।

<!doctype html>
<html lang="en">
    <head>
        <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
        <script>
            $(function () {
                $('#btnShow').click(function () {
                    alert('text:' + $('#addressFieldName').text() + '\n value:' + $('#addressFieldName').val());
                });
            });
            function updateAddress() {
                $('#addressFieldName').val('District: Peshawar \n');
            }
        </script>
    </head>
    <body>
        <?php
        $address = "School: GCMHSS NO.1\nTehsil: ,\nDistrict: Haripur";
        ?>
        <textarea id="addressFieldName" rows="4" cols="40" tabindex="5" ><?php echo $address; ?></textarea>
        <?php echo '<script type="text/javascript">updateAddress();</script>'; ?>
        <input type="button" id="btnShow" value='show' />
    </body>
</html>

जैसा कि आप देख सकते हैं कि textarea का मूल्य चिंता textarea के उद्घाटन और समापन टैग के बीच पाठ से अलग होगा।


-5

आप "मान" विशेषता भी जोड़ सकते हैं और सेट कर सकते हैं कि ऐसा कुछ ऐसा है:


<textarea value="your value"> </textarea>

1
से MDN दस्तावेजीकरण : " <textarea>का समर्थन नहीं करता valueविशेषता"।
Robby Cornelissen

प्रतिक्रिया में लेखन यह HTML कल्पना के साथ संरेखित होने लायक है।
टॉमाज़ वास्ज़ेस्क
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.