درس چهارم: فرم‌های مدرن و هوشمند

درس چهارم: فرم‌های مدرن و هوشمند

در این درس یاد می‌گیرید چگونه ورودی‌هایی طراحی کنید که کاربران از پر کردن آن‌ها لذت ببرند؛ از فیلد نام و ایمیل گرفته تا دکمه‌های انتخاب و منوهای کشویی.

۱. فیلدهای متنی: کلاس form-control

در HTML معمولی، ورودی‌ها ظاهر بسیار ساده و گاهی زشتی دارند. در بوت‌استرپ، تمام جادو با کلاس .form-control اتفاق می‌افتد. این کلاس باعث می‌شود ورودی شما تمام عرض را بگیرد، حاشیه‌های گرد پیدا کند و هنگام کلیک، یک هاله آبی زیبا دور آن ایجاد شود.

اجزای یک فیلد استاندارد:

  • Label: برای برچسب بالای فیلد از کلاس .form-label استفاده می‌کنیم.
  • Input: فیلد اصلی که کلاس .form-control می‌گیرد.
  • Help Text: توضیحات کوچکی که زیر فیلد می‌آید و کلاس .form-text می‌گیرد.

مثال کد یک فیلد ایمیل:

<div class=“mb-3”>
  <label class=“form-label”>آدرس ایمیل</label>
  <input type=“email” class=“form-control” placeholder=“name@example.com”>
  <div class=“form-text”>ما ایمیل شما را با کسی به اشتراک نمی‌گذاریم.</div>
</div>

۲. منوهای کشویی و چک‌باکس‌ها

برای انتخاب‌های چندگانه یا تک‌گزینه‌ای، بوت‌استرپ کلاس‌های اختصاصی دارد که در موبایل بسیار راحت‌تر لمس می‌شوند.

الف) منوی کشویی (Select):

به جای کلاس control، اینجا از .form-select استفاده می‌کنیم تا فلش کناری آن استایل مدرنی بگیرد.

ب) چک‌باکس و رادیو (Check & Radio):

اینجا ساختار کمی متفاوت است. ما از یک ظرف با کلاس .form-check استفاده می‌کنیم تا تیک و متن در یک ردیف قرار بگیرند.

نکته حرفه‌ای: اگر می‌خواهید چک‌باکس شما شبیه دکمه “روشن/خاموش” (Switch) شود، کافیست کلاس .form-switch را به ظرف اصلی اضافه کنید.

۳. گروه‌بندی پیشرفته (Input Groups)

گاهی نیاز است در کنار فیلد ورودی، یک آیکون، متن ثابت یا دکمه قرار بگیرد. مثلاً برای فیلد قیمت که واحد “تومان” همیشه در کنار آن است.

@

کلاس مورد استفاده: .input-group

⚠️ اشتباهات خطرناک در طراحی فرم:

  • عدم استفاده از Label: حتی اگر ظاهر سایتتان مینیمال است، هرگز برچسب فیلد را حذف نکنید؛ این کار برای دسترسی‌پذیری (معلولین) و سئو فاجعه است.
  • فیلدهای خیلی طولانی: در دسکتاپ، اجازه ندهید یک فیلد نام ساده کل ۱۲ ستون را بگیرد. از گرید (درس ۱) استفاده کنید و فیلدها را در col-md-6 قرار دهید.
  • فراموش کردن نوع Input: برای ایمیل حتما از type="email" و برای رمز عبور از type="password" استفاده کنید تا کیبورد موبایل به درستی نمایش داده شود.

🔬 کارگاه عملی درس چهارم: طراحی فرم تماس با ما

با ترکیب تمام آموخته‌ها، یک فرم تماس حرفه‌ای بسازید که شامل موارد زیر باشد:

  1. یک Row داشته باشید که در دسکتاپ دو ستون باشد (نام و ایمیل در کنار هم).
  2. یک فیلد متنی بزرگ (Textarea) برای “متن پیام” زیر آن‌ها قرار بگیرد (تمام عرض).
  3. یک Switch برای “اشتراک در خبرنامه” اضافه کنید.
  4. یک دکمه Success بزرگ در انتهای فرم بگذارید.
نکته آموزشی: برای فیلد متن پیام، به جای تگ input از تگ textarea با همان کلاس form-control استفاده کنید.

پایان درس چهارم

حالا شما می‌توانید داده‌های کاربران را جمع‌آوری کنید. در درس پنجم به سراغ یکی از جذاب‌ترین بخش‌های بوت‌استرپ یعنی **اجزای متحرک و شناور (Modals & Tooltips)** خواهیم رفت.