کدلپر - مرجع جامع آموزش برنامه‌نویسی

All Right Reserved © 2025 Codoloper

background codoloper

خصوصیت های فرم در HTML

خانه

خصوصیت‌های فرم در HTML

این فصل به بررسی خصوصیت‌های (attributes) مختلف برای عنصر <form> در HTML می‌پردازد.


خصوصیت action

خصوصیت action عملی را که باید هنگام ارسال فرم انجام شود، تعریف می‌کند. معمولاً، داده‌های فرم زمانی که کاربر روی دکمه ارسال کلیک می‌کند، به یک فایل روی سرور فرستاده می‌شود.

در مثال زیر، داده‌های فرم به فایلی به نام "action_page.php" ارسال می‌شود. این فایل حاوی یک اسکریپت سمت سرور است که داده‌های فرم را پردازش می‌کند:

مثال

هنگام ارسال، داده‌های فرم را به "action_page.php" بفرست:

<form action="/action_page.php">
  <label for="fname">نام:</label><br />
  <input type="text" id="fname" name="fname" value="John" /><br />
  <label for="lname">نام خانوادگی:</label><br />
  <input type="text" id="lname" name="lname" value="Doe" /><br /><br />
  <input type="submit" value="ارسال" />
</form>

 

💡 نکته: اگر خصوصیت action حذف شود، عمل ارسال به صفحه فعلی تنظیم می‌شود.


خصوصیت target

خصوصیت target مشخص می‌کند که پاسخ دریافت شده پس از ارسال فرم، در کجا نمایش داده شود.

این خصوصیت می‌تواند یکی از مقادیر زیر را داشته باشد:

مقدارتوضیحات
_blankپاسخ در یک پنجره یا تب جدید نمایش داده می‌شود.
_selfپاسخ در پنجره فعلی نمایش داده می‌شود.
_parentپاسخ در فریم والد نمایش داده می‌شود.
_topپاسخ در کل بدنه پنجره نمایش داده می‌شود.
framenameپاسخ در یک آی‌فریم (iframe) با نام مشخص نمایش داده می‌شود.
 

مقدار پیش‌فرض _self است، به این معنی که پاسخ در پنجره فعلی باز خواهد شد.

مثال

در اینجا، نتیجه ارسال شده در یک تب جدید مرورگر باز می‌شود:

<form action="/action_page.php" target="_blank">


خصوصیت method

خصوصیت method متد HTTP مورد استفاده هنگام ارسال داده‌های فرم را مشخص می‌کند. داده‌های فرم می‌توانند به عنوان متغیرهای URL (با method="get") یا به عنوان یک تراکنش پست HTTP (با method="post") ارسال شوند.

متد HTTP پیش‌فرض هنگام ارسال داده‌های فرم، GET است.

مثال

این مثال از متد GET هنگام ارسال داده‌های فرم استفاده می‌کند:

<form action="/action_page.php" method="get">

مثال

این مثال از متد POST هنگام ارسال داده‌های فرم استفاده می‌کند:

<form action="/action_page.php" method="post">

 

نکاتی در مورد GET

  • داده‌های فرم را به صورت زوج‌های نام/مقدار به URL اضافه می‌کند.

  • 😟 هرگز از GET برای ارسال داده‌های حساس استفاده نکنید! (چون داده‌های ارسالی در URL قابل مشاهده هستند).

  • طول یک URL محدود است (۲۰۴۸ کاراکتر).

  • برای ارسال فرم‌هایی که کاربر ممکن است بخواهد نتیجه را بوکمارک کند، مفید است.

  • GET برای داده‌های غیر حساس، مانند رشته‌های جستجو در گوگل، مناسب است.

نکاتی در مورد POST

  • 🔒 داده‌های فرم را در بدنه درخواست HTTP ضمیمه می‌کند (داده‌های ارسالی در URL نمایش داده نمی‌شوند).

  • POST محدودیت اندازه ندارد و می‌توان از آن برای ارسال حجم زیادی از داده‌ها استفاده کرد.

  • فرم‌هایی که با POST ارسال می‌شوند را نمی‌توان بوکمارک کرد.

💡 نکته: اگر داده‌های فرم حاوی اطلاعات حساس یا شخصی هستند، همیشه از POST استفاده کنید!


خصوصیت autocomplete

خصوصیت autocomplete مشخص می‌کند که آیا یک فرم باید قابلیت تکمیل خودکار (autocomplete) را روشن یا خاموش داشته باشد. وقتی تکمیل خودکار روشن باشد، مرورگر به طور خودکار مقادیر را بر اساس مقادیری که کاربر قبلاً وارد کرده است، کامل می‌کند.

مثال

یک فرم با تکمیل خودکار روشن:

<form action="/action_page.php" autocomplete="on">


خصوصیت novalidate

خصوصیت novalidate یک خصوصیت بولین (boolean) است. وقتی این خصوصیت وجود داشته باشد، مشخص می‌کند که داده‌های فرم (ورودی) هنگام ارسال نباید اعتبارسنجی شوند.

مثال

یک فرم با خصوصیت novalidate:

<form action="/action_page.php" novalidate>

 


لیست تمام خصوصیت‌های <form>

خصوصیتتوضیحات
accept-charsetانکودینگ‌های کاراکتر مورد استفاده برای ارسال فرم را مشخص می‌کند.
actionمشخص می‌کند که داده‌های فرم هنگام ارسال به کجا فرستاده شوند.
autocompleteمشخص می‌کند که آیا فرم باید تکمیل خودکار داشته باشد یا نه.
enctypeنحوه انکود شدن داده‌های فرم هنگام ارسال به سرور را مشخص می‌کند (فقط برای method="post").
methodمتد HTTP مورد استفاده برای ارسال داده‌ها را مشخص می‌کند.
nameنام فرم را مشخص می‌کند.
novalidateمشخص می‌کند که فرم هنگام ارسال نباید اعتبارسنجی شود.
relرابطه بین یک منبع لینک‌شده و سند فعلی را مشخص می‌کند.
targetمشخص می‌کند که پاسخ دریافت شده پس از ارسال فرم، در کجا نمایش داده شود.