আমি ব্যবহারকারীকে সম্পাদনা করার জন্য সামগ্রী সহ একটি টেক্সারিয়া পূরণ করছি।
সিএসএস ( overflow:show
ডিভের মতো) এর সাথে সামগ্রীতে ফিট করার জন্য এটি কী প্রসারিত করা সম্ভব ?
আমি ব্যবহারকারীকে সম্পাদনা করার জন্য সামগ্রী সহ একটি টেক্সারিয়া পূরণ করছি।
সিএসএস ( overflow:show
ডিভের মতো) এর সাথে সামগ্রীতে ফিট করার জন্য এটি কী প্রসারিত করা সম্ভব ?
উত্তর:
আসলে তা না. এটি সাধারণত জাভাস্ক্রিপ্ট ব্যবহার করে করা হয়।
এখানে এটি করার বিভিন্ন উপায় সম্পর্কে একটি ভাল আলোচনা আছে ...
শুধুমাত্র একটি লাইন
<textarea name="text" oninput='this.style.height = "";this.style.height = this.scrollHeight + "px"'></textarea>
this.scrollHeight + "px"
থেকে this.scrollHeight + 3 + "px"
তোলে পাঠ্য এলাকা বড় যথেষ্ট এটা স্ক্রলবার প্রদর্শন করে।
এখানে একটি ফাংশন যা jQuery (শুধুমাত্র উচ্চতার জন্য, প্রস্থ নয়) এর সাথে কাজ করে:
function setHeight(jq_in){
jq_in.each(function(index, elem){
// This line will work with pure Javascript (taken from NicB's answer):
elem.style.height = elem.scrollHeight+'px';
});
}
setHeight($('<put selector here>'));
দ্রষ্টব্য: অপ্সটি এমন একটি সমাধান চেয়েছিল যা জাভাস্ক্রিপ্ট ব্যবহার করে না, তবে এই প্রশ্নটি জুড়ে আসা অনেক ব্যক্তির পক্ষে এটি সহায়ক হওয়া উচিত।
এটি একটি খুব সহজ সমাধান, তবে এটি আমার জন্য কার্যকর:
<!--TEXT-AREA-->
<textarea id="textBox1" name="content" TextMode="MultiLine" onkeyup="setHeight('textBox1');" onkeydown="setHeight('textBox1');">Hello World</textarea>
<!--JAVASCRIPT-->
<script type="text/javascript">
function setHeight(fieldId){
document.getElementById(fieldId).style.height = document.getElementById(fieldId).scrollHeight+'px';
}
setHeight('textBox1');
</script>
<style> textarea { resize: none; overflow: auto; } </style> <!--TEXT-AREA--> <textarea onkeyup="setHeight.call(this);">Hello World</textarea> <!--JAVASCRIPT--> <script type="text/javascript"> function setHeight(){ this.style.height = '1px'; this.style.height = this.scrollHeight + 'px'; } </script>
মূলত এই কারণে প্রথম 1px চাই, উচ্চতা সেট করতে হবে: stackoverflow.com/questions/10722058/...
গতিশীল পাঠ্য নিয়ন্ত্রণের জন্য আরও একটি সহজ সমাধান।
<!--JAVASCRIPT-->
<script type="text/javascript">
$('textarea').on('input', function () {
this.style.height = "";
this.style.height = this.scrollHeight + "px";
});
</script>