در حال بارگذاری...

Textarea در HTML

درس قبل با form="id" و form* مالکیت و مسیریابی ارسال را پوشش داد. textarea کار دیگری است: کنترل متن چندخطی برای پیام و یادداشت. input تک‌خطی برای پاراگراف مناسب نیست. وقتی کاربر بیش از یک خط می‌نویسد از textarea استفاده کنید.

چرا textarea هست

فرم تماس، تیکت پشتیبانی، بیو و نظر به ارتفاع اسکرول و شکست خط نرم نیاز دارند. textarea همان متن را به‌صورت یک فیلد نام‌دار ارسال می‌کند. همچنان label، name و اشارهٔ اندازه لازم است — اما مدل محتوا با input فرق دارد: متن بین تگ‌هاست.

پاسخ مستقیم

۱) بنویسید. ۲) label با for وصل کنید. ۳) متن پیش‌فرض را بین تگ‌ها بگذارید — نه value. ۴) اختیاری: placeholder، maxlength، readonly، disabled، required، wrap. ۵) ورود چندخطی است — نه ارتباط form= درس قبل.

📊 Textarea attributes beginners use

Attribute Role Beginner tip
name Submit key Required if the text should post with the form
id Label hook Match label for= for accessible naming
rows Visible height hint Lines of height before scrolling
cols Visible width hint Prefer CSS width for responsive layouts
placeholder Soft hint Disappears when the user types
maxlength Character cap Browser-enforced upper bound
readonly / disabled Lock vs mute readonly still submits; disabled usually does not
wrap Soft/hard wrap Affects how line breaks are submitted (soft vs hard)

فرم بازخورد: جعبهٔ پیام با label

فرم کوتاه ایمیل را input تک‌خطی و پیام را textarea نگه می‌دارد. متن شروع بین تگ‌هاست تا کاربر ویرایش کند.

Labeled feedback textarea

html
<form action="/feedback" method="post">
<label for="email">Email</label>
<input id="email" name="email" type="email" required>

<label for="msg">Message</label>
<textarea id="msg" name="msg" rows="6" cols="40"
placeholder="What went well? What can improve?">Thanks for reading —</textarea>

<button type="submit">Send feedback</button>
</form>

خواندن دموی بازخورد

  • کنترل چندخطی textarea است نه input
  • id=msg با label for جفت می‌شود
  • name=msg کلید پاراگراف ارسالی است
  • rows ارتفاع و cols عرض را پیشنهاد می‌دهند
  • متن پیش‌فرض بین تگ‌هاست
  • label واضح بمانید
  • form= درس قبل اینجا لازم نیست — فیلدها داخل form‌اند

اندازه، سقف و wrap

دموی دوم بیو با maxlength و wrap=soft و نکتهٔ CSS به‌جای cols. readonly روی خلاصهٔ فقط‌خواندنی.

Bio size limits and readonly note

html
<label for="bio">Short bio</label>
<textarea id="bio" name="bio" rows="4" maxlength="280"
wrap="soft"
style="width:100%; max-width:28rem; resize:vertical;"
placeholder="Up to 280 characters"></textarea>

<label for="summary">Auto summary (read-only)</label>
<textarea id="summary" name="summary" rows="3" readonly>Generated preview — edit the bio above.</textarea>

خواندن دموی اندازه

  • maxlength سقف طول را می‌گذارد
  • wrap=soft شکست دیداری را بدون hard CR/LF نگه می‌دارد
  • CSS width و resize ظاهر را نرم می‌کند
  • readonly دیده می‌شود ولی ویرایش نمی‌شود
  • برای ارسال همچنان name لازم است
  • بعدی: select برای انتخاب از فهرست

انتخاب textarea در برابر input

  • یک خط کوتاه: input
  • پاراگراف و پیام: textarea
  • اندازه با rows و CSS؛ cols میراثی است
  • محتوای پیش‌فرض بین تگ‌ها — نه value
  • همچنان label و name
  • داخل form وقتی ممکن است؛ form= اگر جدا لازم شد
  • با formaction/مالکیت قاطی نکنید

تمرین — ساخت و تغییر اندازه

  1. دموی بازخورد؛ متن بین تگ را عوض کنید
  2. rows را کم کنید و ارتفاع را ببینید
  3. maxlength اضافه کنید
  4. cols را با CSS width عوض کنید
  5. موقتاً value بگذارید و ببینید عادت input نیست — سپس حذف کنید
  6. جمله: textarea متن چندخطی بین تگ‌ها؛ input با value
  7. انتخاب از فهرست مال select بعدی است

اشتباهات آسان

  • متن پیش‌فرض در value به‌جای بین تگ‌ها
  • فراموش name
  • بدون label
  • input تک‌خطی وقتی چند خط لازم است
  • قاطی با form=/formaction درس قبل
  • فقط cols برای عرض واکنش‌گرا
  • disabled به‌جای readonly

خلاصه

  • textarea = متن چندخطی
  • label و معمولاً name
  • متن پیش‌فرض بین تگ‌ها
  • rows/CSS؛ اختیاری maxlength و placeholder و readonly
  • نه ویژگی‌های ارتباط فرم درس قبل
  • بعدی: select

🧠 دانش خود را بیازمایید

آماده شروع

دانش خود را بیازمایید

خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کرده‌اید

❓
5
سوالات
🎯
70%
برای قبولی
♾️
∞
زمان
🔄
∞
تلاش‌ها

📝 دستورالعمل‌ها

  • هر سوال را با دقت بخوانید
  • بهترین پاسخ را برای هر سوال انتخاب کنید
  • می‌توانید آزمون را هر چند بار که می‌خواهید تکرار کنید
  • پیشرفت شما در بالا نمایش داده می‌شود