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

ویژگی‌های فرم HTML

فرم‌ها اسکلت را دادند. ویژگی‌های فرم رفتار را دقیق می‌کنند — action خالی، get در برابر post، autofill، رد چک‌های توکار، و نام‌گذاری خود form. نوع input و form= بعداً.

چرا ویژگی‌های فرم مهم‌اند

دو فرم شبیه هم می‌توانند رفتار متفاوت داشته باشند. attribute روی form مقصد، شیوهٔ HTTP، autofill و اعتبارسنجی را عوض می‌کند بدون فیلد تازه.

پاسخ مستقیم

۱) action و method هسته. ۲) action خالی معمولاً صفحهٔ فعلی. ۳) autocomplete on|off. ۴) novalidate فقط وقتی عمداً چک‌ها را رد می‌کنید. ۵) id/name روی form برای اسکریپت.

📊 Form attributes at a glance

Attribute Role Beginner tip
action Where the browser sends the data Empty often means “this page”
method get (query string) or post (request body) Prefer post for private or large data
autocomplete Autofill hint for the form off for sensitive practice forms
novalidate Skip built-in HTML checks on submit Demo tool — not a production default
name / id Identify the form element itself Useful when scripts or CSS target the form

فرم تماس با attribute سطح فرم

اسکلت اشتراک را گسترش دهید: فیلد برچسب‌دار بماند؛ تگ باز form را با attributeهای واقعی تزئین کنید.

Contact form with attributes

html
<form
id="contact"
name="contact"
action="/contact"
method="post"
autocomplete="on">
<label for="full-name">Name</label>
<input id="full-name" name="full_name" type="text" required>
<label for="msg">Message</label>
<textarea id="msg" name="message" rows="3" required></textarea>
<button type="submit">Send</button>
</form>

خواندن دموی تماس

  • id و name فرم را شناسایی می‌کنند (جدا از name فیلد)
  • action مسیر صریح است
  • method=post پیام را از نوار آدرس دور نگه می‌دارد
  • autocomplete=on اجازهٔ autofill می‌دهد
  • name فیلدها کلید payload است
  • required سطح فیلد است؛ novalidate در دموی بعد

جستجوی GET و novalidate اختیاری

جستجو اغلب method=get دارد تا کوئری در URL بماند. دادهٔ حساس نه. با autocomplete=off برای تمرین. novalidate فقط برای دموی خاص.

GET search with autocomplete off

html
<form action="/search" method="get" autocomplete="off">
<label for="q">Search</label>
<input id="q" name="q" type="search">
<button type="submit">Go</button>
</form>

<!-- Demo-only: skip built-in checks
<form action="/demo" method="post" novalidate>
...
</form>
-->

خواندن دموی جستجو

  • get بعد از submit مقدار را به URL می‌چسباند
  • autocomplete=off autofill را کم می‌کند
  • بدون required فیلد خالی هم می‌رود
  • مثال novalidate فقط یادآوری است
  • هرگز get برای رمز یا پیام خصوصی

action خالی و GET در برابر POST

  • action خالی یا حذف‌شده → URL فعلی
  • get برای فیلتر و جستجو
  • post برای ثبت‌نام و پیام
  • method به‌تنهایی امنیت نیست — سرور هنوز اعتبارسنجی می‌کند

تمرین — تنظیم attributeهای فرم

  1. action را خالی کنید و ببینید به صفحهٔ فعلی می‌رود
  2. method جستجو را بین get و post عوض کنید
  3. autocomplete=off روی تماس
  4. موقتاً novalidate با required
  5. novalidate را بردارید
  6. id فرم و name فیلدها را تأیید کنید
  7. جمله: attributeها مقصد، شیوه، autofill و چک را تنظیم می‌کنند

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

  • تعجب از action خالی → صفحهٔ فعلی
  • رمز با method=get
  • novalidate دائمی در صفحهٔ زنده
  • قاطی کردن name/id فرم با name فیلد
  • فکر کردن autocomplete=off ضمانت امنیتی است
  • جابه‌جایی معنای action و method

خلاصه

  • ویژگی‌های فرم رفتار ارسال را دقیق می‌کنند
  • action + method هسته؛ خالی → URL فعلی
  • autocomplete و novalidate ابزار اختیاری‌اند
  • name/id فرم را شناسایی می‌کنند؛ name فیلد داده را کلید می‌زند
  • برای دادهٔ خصوصی post
  • بعدی: عناصر فرم

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

آماده شروع

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

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

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

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

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