خصوصیتهای فرم در 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 مشخص میکند که پاسخ دریافت شده پس از ارسال فرم، در کجا نمایش داده شود.
این خصوصیت میتواند یکی از مقادیر زیر را داشته باشد:
مقدار پیشفرض _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>