এইচটিএমএল 5 টেক্সারিয়া প্লেসোল্ডার হাজির হচ্ছে না


182

আমার মার্কআপে কী সমস্যা হয়েছে তা আমি বুঝতে পারি না, তবে পাঠ্য অঞ্চলের জন্য স্থানধারক উপস্থিত হবে না। দেখে মনে হচ্ছে এটি কিছু ফাঁকা জায়গা এবং ট্যাবগুলি দিয়ে coveredেকে রাখা যেতে পারে। আপনি যখন পাঠ্যের ক্ষেত্রের দিকে মনোনিবেশ করেন এবং কার্সারটি যেখানে রেখে দেয় সেখান থেকে মুছুন, তারপরে পাঠ্য অঞ্চলটি ছেড়ে দিন, তারপরে যথাযথ স্থানধারক উপস্থিত হবে।

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

<html>
    <head>
    </head>

    <body>

    <form action="message.php" method="post" id="message_form">
        <fieldset>

            <input type="email" name="email" id="email" title="Email address"
                maxlength="40"
                placeholder="Email Address" 
                autocomplete="off" required />
            <br />
            <input type="text" 
                name="subject" 
                id="subject" title="Subject"
                maxlength="60" placeholder="Subject" autocomplete="off" required />
            <br />
            <textarea name="message" 
                id="message" 
                title="Message" 
                cols="30" 
                rows="5" 
                maxlength="100" 
                placeholder="Message" required>
            </textarea>
            <br />
            <input type="submit" value="Send" id="submit"/>

        </fieldset>
    </form>
</body>

<script>

$(document).ready(function() {        
    $('#message_form').html5form({
        allBrowsers : true,
        responseDiv : '#response',
        messages: 'en',
        messages: 'es',
        method : 'GET',
        colorOn :'#d2d2d2',
        colorOff :'#000'
    }
);
});

</script>

</html>

2
কাজটি ঠিকঠাক বলে মনে হচ্ছে: jsfiddle.net/3BzBk ... স্ক্রিপ্টটি শরীরের বাইরে রাখবেন না :)
মার্কো

2
আপনি কোন ব্রাউজার ব্যবহার করছেন? সমস্ত ব্রাউজারগুলি স্থানধারক বৈশিষ্ট্য সমর্থন করে না
Xharze

একই প্রভাব পেতে আপনি সর্বদা অনফোকাস এবং অন্বলুর ইভেন্টগুলি ব্যবহার করতে পারেন। এছাড়াও, আপনি পরীক্ষা করতে পারেন যে প্লেসোল্ডার ব্রাউজার দ্বারা সমর্থিত কিনা বা কোনও ফাংশন ব্যবহার করে না: ফাংশন প্লেসোল্ডারআইসপোর্টার্ড () {টেস্ট = ডকুমেন্ট.ক্রিটএলমেন্ট ('ইনপুট'); রিটার্ন (পরীক্ষায় 'স্থানধারক'); }
হেনেট্রোবট

1
@ মারকো জোহানসেন আপনাকে ধন্যবাদ! আমি আলাদা বলতে গেলে এখনও ঠিক বলতে পারি না তবে এটি এখন কাজ করে।
rojobuffalo

1
@ ব্যবহারকারী 1338065 সুপার। এটি কারণ এটি শরীরের বাইরে রাখা হয়েছিল বা?
মার্কো জোহানেনসেন

উত্তর:


664

এটি আমার এবং আরও অনেকের পক্ষে সর্বদা একটি গোচা হয়ে থাকে। সংক্ষেপে, <textarea>উপাদানটির জন্য খোলার এবং সমাপনী ট্যাগগুলি একই লাইনে থাকতে হবে, অন্যথায় একটি নতুনলাইন চরিত্র এটি দখল করে। স্থানধারকটি সুতরাং প্রদর্শিত হবে না যেহেতু ইনপুট অঞ্চলে সামগ্রী রয়েছে (একটি নতুন লাইনের চরিত্রটি প্রযুক্তিগতভাবে বৈধ সামগ্রী)।

ভাল:

<textarea></textarea>

খারাপ:

<textarea>
</textarea>

আপডেট (2020)

এই সত্য নয় HTML5 এর বৈশিষ্ট বিশ্লেষণের সময় অনুযায়ী আর:

If the next token is a U+000A LINE FEED (LF) character token, 
then ignore that token and move on to the next one. (Newlines 
at the start of textarea elements are ignored as an authoring 
convenience.)

যদিও আপনি সম্পাদক যদি সিআরএলএফ দিয়ে লাইন শেষ করতে জোর দিয়ে থাকেন তবে আপনার এখনও সমস্যা হতে পারে।


66
মানুষ, এই উত্তরটি এত সোজা ছিল, আমি এটি সত্য বলে বিশ্বাস করি না! তবে আমি এটি নিজের জন্য পরীক্ষা করে নিলাম এবং নিশ্চিতভাবেই, কোনও টেক্সেরিয়ার অভ্যন্তরে সাদা স্থানকে বিষয়বস্তু হিসাবে বিবেচনা করা হয় - স্থানধারক প্রদর্শিত হতে বাধা দেয়।
এরিক এল

প্লাগইনটি সম্পাদনা করা থাকলে আপনি jQuery এর .trimপদ্ধতি ব্যবহার করে এই সমস্যাটি সমাধান করতে পারেন ।
SpYk3HH

উদাহরণস্বরূপ, $('textarea'),each(function(i) { if ($.trim($(this).text()) == '') $(this).text('').trigger('blur'); });
জেএসে

এছাড়াও, ডিওএম লোড হওয়ার পরে কোনও নতুন টেক্সারি উপাদান তৈরি করার সময়, ক্লোজিং ট্যাগটি />পরিবর্তে অন্তর্ভুক্ত করার বিষয়টি নিশ্চিত করুন >। উদাহরণ:$('body').html('<textarea placeholder="test" />');
অধ: পতিত

এর ভিতরে যদি একটি সাদা জায়গা থাকে তার <textarea>অর্থ টেক্সারিয়া খালি নয়, সুতরাং, কোনও স্থানধারকের জন্য কোনও ব্যবহার নেই। :)
এডু রুইজ

42

<textarea>খোলার এবং বন্ধ করার </textarea>ট্যাগের মধ্যে সমস্ত স্পেস এবং লাইন ব্রেকগুলি মুছুন ।

<textarea placeholder="YOUR TEXT"></textarea>  ///Correct one

<textarea placeholder="YOUR TEXT"> </textarea>  ///Bad one It's treats as a value so browser won't display the Placeholder value

<textarea placeholder="YOUR TEXT"> 
</textarea>  ///Bad one 

স্পেস কি মেরে ফেলেছে? রহস্যময়।
অ্যান্ড্রুওলিওনার্দি

2
এটি স্থানকে একটি মান হিসাবে বিবেচনা করে।
লিড বিকাশকারী

9

এটি কারণ কোথাও একটি জায়গা আছে। আমি jsfiddle ব্যবহার করছিলাম এবং ট্যাগ পরে একটি জায়গা ছিল। আমি স্থানটি মুছে ফেলার পরে এটি কাজ শুরু করে


কি দারুন! আমি পরের লাইনে ক্লোজিং টেক্সারিয়া ট্যাগটি রেখেছি, 4 স্পেস ইনডেন্ট করেছি> এই অদৃশ্য স্পেসগুলি টেক্সারিয়ায় রয়েছে, তবে আমি বুঝতে পারি না যতক্ষণ না আমি প্লেসোল্ডার ব্যবহার করার চেষ্টা করেছি। পাঠ্যক্রমের ট্যাগগুলি খোলার ও শেষ করার মধ্যে কোনও ফাঁকা স্থান নেই!
ডক

5

ঠিক আছে, প্রযুক্তিগতভাবে এটি একই লাইনে থাকবে না যতক্ষণ না শুরু ট্যাগ থেকে শেষ ">" এবং ক্লোজিং ট্যাগ থেকে "<" শুরু করার মধ্যে কোনও চরিত্র নেই। এটি আপনাকে ...></textarea>নীচের উদাহরণের মতো শেষ করতে হবে :

<p><label>Comments:<br>
       <textarea id = "comments" rows = "4" cols = "36" 
            placeholder = "Enter comments here"
            class = "valid"></textarea>
    </label>
</p>

3

আমি জানি এই পোস্টটি অ্যাকোয়ারেলের দ্বারা উত্তর দেওয়া হয়েছে (খুব ভাল) তবে ঠিক যদি কেউ অন্য ট্যাগ ফর্মের সাথে এই সমস্যাটি নিয়ে থাকে তবে ইনপুটগুলির মতো কোনও পাঠ্য না থাকায় আমি এটিকে এখানে রেখে দেব:

যদি আপনার ফর্মটিতে কোনও ইনপুট থাকে এবং স্থানধারক দেখায় না কারণ শুরুতে একটি সাদা জায়গা, এটি আপনার জন্য "মান" বৈশিষ্ট্যের কারণ হতে পারে। যদি আপনি কোনও ইনপুটটির মান পূরণ করতে ভেরিয়েবল ব্যবহার করছেন তবে পরীক্ষা করুন যে কমা এবং ভেরিয়েবলগুলির মধ্যে কোনও সাদা জায়গা নেই।

পিএইচপি ফ্রেমওয়ার্ক ফ্রেম সাইমফোনির জন্য টুইগ ব্যবহারের উদাহরণ:

<input type="text" name="subject" value="{{ subject }}" placeholder="hello" />       <-- this is ok
<input type="text" name="subject" value" {{ subject }} " placeholder="hello" />      <-- this will not show placeholder 

এক্ষেত্রে {{}} এর মধ্যে ট্যাগটি চলক, কেবল নিশ্চিত হয়ে নিন যে আপনি কমাগুলির মধ্যে ফাঁকা স্থান ছাড়ছেন না কারণ সাদা স্থানও একটি বৈধ চরিত্র।


2

<textarea></textarea>খোলার এবং ক্লোগের ট্যাগগুলির মধ্যে একটি স্থান রেখে পরিবর্তে ব্যবহার করুন<textarea> </textarea>


4
এটি বিদ্যমান উত্তরগুলি ইতিমধ্যে সম্বোধন করে না এমন কিছুই যুক্ত করে না।
সমস্ত কর্মী

0

আমাদের ক্ষেত্রে টেক্সারিয়া পাঠের প্রারম্ভিক ও সমাপনী ট্যাগের মধ্যে স্থান বা নিউলাইন চরিত্র বা কোনও পাঠ্য (মান) হওয়া উচিত নয় ।

যদি স্থান, নিউলাইন চরিত্র বা কোনও পাঠ্য থাকে তবে এটিকে মান হিসাবে বিবেচনা করা হয় যা স্থানধারককে ওভাররাইড করে।

    **PlaceHolder Appears**
    <textarea placeholder="Am Default Message"></textarea>

    **PlaceHolder Doesn't Appear**

    <textarea placeholder="Am Default Message">  </textarea>
   <textarea placeholder="Am Default Message"> 
   </textarea>
   <textarea placeholder="Am Default Message">Something</textarea>

0

আমার একই সমস্যা ছিল, কেবল একটি .pugফাইল (অনুরূপ .jade) ব্যবহার করে । আমি বুঝতে পারি যে এটি বন্ধ করার প্রথম বন্ধনীর শেষে, এটিও একটি স্থানের সমস্যা ছিল was আমার উদাহরণে, আপনাকে (placeholder="YOUR MESSAGE")দেখার পরে পাঠ্যটি হাইলাইট করতে হবে :

আগে:

form.form-horizontal(method='POST')
  .form-group
    textarea.form-control(placeholder="YOUR MESSAGE") 
  .form-group  
    button.btn.btn-primary(type='submit') SUBMIT

পরে:

form.form-horizontal(method='POST')
  .form-group
    textarea.form-control(placeholder="YOUR MESSAGE")
  .form-group  
    button.btn.btn-primary(type='submit') SUBMIT
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.