سرمایه گذاری متفاوت در سال نو 🍎🌱 ۳۵٪ تخفیف نوروزی ➕ حضور رایگان در مسترمایند نخبگان صنعت نرم‌افزار 💻✅
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ علیرضا تقوی
for و id در فرم
سحر پاشائی حل شده توسط سحر پاشائی

سلام وقت بخیر.

در تگ label و input آیا حتما باید برای for و id چیزی بنویسیم؟ 

چون در هر دو حالته زیر جواب میده حتی من Input رو درون تگ label نذاشتم. با اینحال توی لایو سرور کنار همون باکس مورد نظر خودش نمایش داده میشه.

 

<label for="">نام کاربری</label>
<input type="text" name="" id="" placeholder="نام کاربری خود را وارد کنید">
<label for="Username">نام کاربری</label>
<input type="text" name="" id="Username" placeholder="نام کاربری خود را وارد کنید">

سلام. وقتتون بخیر
الزامی نیست، ولی توصیه می‌شه.
اگه label و input پشت سر هم بیان و نزدیک هم باشن، مرورگر خودش تشخیص می‌ده که این لیبل مربوط به این اینپوت هست. به همین دلیله که وقتی روی label کلیک می‌کنید، مکان‌نمای تایپ توی input ظاهر می‌شه، حتی اگه for و id تعریف نکرده باشید
این که چرا توصیه می‌شه استفاده کنیم از for و id به این دلیل هست:
- صفحه‌خوان‌ها و تکنولوژی‌های کمکی برای کاربران دارای محدودیت بینایی، وقتی for و id داشته باشیم، بهتر متوجه می‌شن که کدوم label برای کدوم input هست.
- توی فرم‌هایی که چندتا input و label داریم، استفاده از for و id باعث می‌شه ارتباط بین لیبل و اینپوت مشخص باشه و دچار اشتباه نشه.
- اگه id یا کلاس مناسب داشته باشیم، توی CSS می‌تونیم خیلی راحت‌تر فرم رو استایل بدیم.

اگه input داخل خود label باشه، دیگه نیازی به for نداریم، چون مرورگر خودش متوجه می‌شه:

<label>
 نام کاربری
 <input type="text" placeholder="نام کاربری خود را وارد کنید">
</label>

این روش باعث می‌شه که کلیک روی label، input رو فعال کنه، بدون نیاز به for و id.
⛔ ولی اگه label و input جدا از هم باشن، بهتره که از for و id استفاده بشه.

بهترین پاسخ
سحر پاشائی ۲۴ بهمن ۱۴۰۳، ۰۶:۴۴