eshpilen
شنبه 14 دی 1392, 12:59 عصر
موقعی که مثلا یک text input در صفحه داریم که با اطلاعات از پیش تعیین شده ای پر شده و این اطلاعات رو کاربر نباید بتونه تغییر بده، میتونیم اون رو readonly کنیم.
ولی میتونیم بجای readonly کردن disabled هم بکنیم.
disabled خوبیش اینه که کاربر با یک نگاه میتونه از ظاهرش تشخیص بده که اون ورودی Fix شده است و قابل ویرایش نیست.
readonly ولی از ظاهرش مشخص نیست و کاربر خیلی وقتا میره توش و میخواد ویرایش کنه که میبینه نمیشه!
من خودم شده رفتم readonly رو ویرایش کنم بعد دیدم نمیشه، و سر این یخورده شک هم کردم، یعنی فکر کردم شاید اشکال از جای دیگری باشه و مثلا شاید مشکل فنی در جایی وجود داره که نمیشه ویرایش کرد. مثلا شاید فکر کردم که ویندوز یا مرورگر مشکلی دارن.
ولی disabled خوبیش اینه که صریح تر مشخصه که خود اون کنترل اساسا غیرفعال شده.
البته مزیت بیشترش همونه که در همون دید اول و بدون تست کردن مشخصه که قابل ویرایش نیست و Fix شده است.
پس بنظر شما برای اینطور موارد از disabled استفاده کنیم یا readonly؟
البته یه مسئله هم اینه که شاید تفسیر منطقی این دو حالت در بعضی context ها مقداری تفاوت بکنه.
مثلا شاید بعضی جاها یک کنترل disabled رو به معنای این بگیرن که کلا اون گزینه در اون شرایط بی معنی/بدون کاربرد است. ولی من شخصا با چنین مواردی خیلی کم برخورد کردم و چنین تفسیری هم نمیکنم بطور معمول، مگر اینکه مقداری که در اون ورودی درج شده هم یک مقدار خالی یا پیشفرض باشه و بهرصورت مقداری که مشخص باشه بعنوان مقدار انتخاب نشده درنظر گرفته شده.
ولی میتونیم بجای readonly کردن disabled هم بکنیم.
disabled خوبیش اینه که کاربر با یک نگاه میتونه از ظاهرش تشخیص بده که اون ورودی Fix شده است و قابل ویرایش نیست.
readonly ولی از ظاهرش مشخص نیست و کاربر خیلی وقتا میره توش و میخواد ویرایش کنه که میبینه نمیشه!
من خودم شده رفتم readonly رو ویرایش کنم بعد دیدم نمیشه، و سر این یخورده شک هم کردم، یعنی فکر کردم شاید اشکال از جای دیگری باشه و مثلا شاید مشکل فنی در جایی وجود داره که نمیشه ویرایش کرد. مثلا شاید فکر کردم که ویندوز یا مرورگر مشکلی دارن.
ولی disabled خوبیش اینه که صریح تر مشخصه که خود اون کنترل اساسا غیرفعال شده.
البته مزیت بیشترش همونه که در همون دید اول و بدون تست کردن مشخصه که قابل ویرایش نیست و Fix شده است.
پس بنظر شما برای اینطور موارد از disabled استفاده کنیم یا readonly؟
البته یه مسئله هم اینه که شاید تفسیر منطقی این دو حالت در بعضی context ها مقداری تفاوت بکنه.
مثلا شاید بعضی جاها یک کنترل disabled رو به معنای این بگیرن که کلا اون گزینه در اون شرایط بی معنی/بدون کاربرد است. ولی من شخصا با چنین مواردی خیلی کم برخورد کردم و چنین تفسیری هم نمیکنم بطور معمول، مگر اینکه مقداری که در اون ورودی درج شده هم یک مقدار خالی یا پیشفرض باشه و بهرصورت مقداری که مشخص باشه بعنوان مقدار انتخاب نشده درنظر گرفته شده.