سؤال

في مثال محدد ، أنا أتعامل مع المنسدلة ، على سبيل المثال:

<select name="foo" id="bar">
  <option disabled="disabled" selected="selected">Select an item:</option>
  <option>an item</option>
  <option>another item</option>
</select>

بالطبع, هذا جميل لا معنى لها ، ولكن أنا أتساءل عما إذا كان أي سلوك صارمة محددة.أوبرا بفعالية ترفض 'اختيار' السمة و تحديد العنصر التالي في القائمة.جميع المتصفحات الأخرى تظهر أن تسمح بذلك ، ويبقى المحدد.

تحديث: للتوضيح أنا مهتمة بشكل خاص في الاختيار الأولي.أنا أتعامل مع واحدة من تلك 'تحديد عنصر:'من نوع المنسدلة ، وفي هذه الحالة فإن الخيار الأول هو في الحقيقة تسمية يحدث الإجراء onchange().هذا هو إلى حد ما حسنا 'تعزيز تدريجيا' ، في أن يقدم زر موجود فقط إزالتها عن طريق جافا سكريبت.إن "اختيار..." الخيار أزيلت ، أيا كانت ثم أصبحت البند الأول لا يمكن تحديدها.هل نحن مجرد استبعاد onchange انخفاض هبوطا تماما ، أو أن "تحديد..." الخيار للاختيار فقط مع عدم وجود تأثير ؟

هل كانت مفيدة؟

المحلول

في الرد على التحديث في السؤال أود أن أقول أن 'label' الخيار يجب أن يكون اختيارها ولكن أيضا لا تفعل شيئا على تقديم أو عن طريق جافا سكريبت, لا تسمح الاستمارة بدون قيمة اختياره (على افتراض انها حقل مطلوب).

من usablilty وجهة نظر أقترح القيام على حد سواء ، أن طريقة تغطية جميع القواعد.

نصائح أخرى

HTML المواصفات غامضة بعض الشيء (أي.يفتقر تماما) مع هذا مزيج غريب.يقولون أن شكل العنصر مع تعطيل تعيين سمة يجب أن لا تكون ناجحة ، لذلك حقا لا يمكن التي سيتم اختيارها.

المتصفح قد جعله بحيث يبدو المختارة ، ولكن لا ينبغي أن تظهر في نشر البيانات.يبدو أن أوبرا ليست لي.

HTML المواصفات الدولة أن كلا مختارة & تعطيل تتوفر خيارات <option> العنصر, ولكن لا يحدد ما ينبغي أن يحدث في حالة الصراع.في القسم على تعطيل عناصر التحكم يقول

عند تعيين المعاقين السمة التأثيرات التالية على عنصر:

  • تعطيل الضوابط لا يحصلون على التركيز.
  • تعطيل عناصر التحكم يتم تخطي في الجدولة الملاحة.
  • تعطيل الضوابط لا يمكن أن تكون ناجحة.

كما يقول

كيفية تعطيل العناصر المقدمة يعتمد على عامل المستخدم.على سبيل المثال ، بعض وكلاء المستخدم "الرمادي" تعطيل عناصر القائمة ، زر التسميات ، إلخ.في هذا المثال إدخال عنصر معطل.ولذلك لا يمكن تلقي مدخلات المستخدم أو قيمته تقديمها مع النموذج.

بينما هذه الحالة المحددة لم يتم تحديد ، قراءة هذا يقول الفعلية مما يجعل من 'المختار' 'تعطيل' عنصر اليسار إلى المتصفح.طالما أن المستخدم لا يمكن تحديده ثم انها تعمل بشكل قياسي.لا أقول هذا السيناريو يمكن أن تعمل على العنصر ، لذلك فإنه من الممكن بالنسبة جافا سكريبت لوضع تعطيل الخيار المحدد (أو تعطيل الخيار المحدد).هذا لا يتعارض مع المعايير ، ولكن على شكل تقديم هذا الخيار قيمة لا يمكن أن تكون القيمة المحددة.اختر القائمة (أفترض) أن يكون لديك قيمة فارغة في هذه الحالة.

وفقا HTML 4.01 المواصفات ، تعطيل هو معيار سمة عنصر الخيار, لكن السلوك هو على الارجح غير محدد على أساس معيار (قراءة المعلومات على تحديد العنصر من عناصر الخيارات.هنا هو جزء أعتقد قد تسلط الضوء على أوبرا أسباب تنفيذها:

عند تعيين المعاقين السمة التأثيرات التالية على عنصر:
* تعطيل الضوابط لا يحصلون على التركيز.
* تعطيل عناصر التحكم يتم تخطي في الجدولة الملاحة.
* تعطيل الضوابط لا يمكن أن تكون ناجحة.

لذا ، فمن المحتمل جدا أن هذا هو مجرد واحدة من تلك الأشياء حيث المواصفات غامضة بما فيه الكفاية للسماح لكل من التفسيرات.هذا هو نوع من الخصوصيات التي تجعل البرمجة على شبكة الإنترنت حتى متعة ومجزية.:P

هل نحن مجرد استبعاد 'عند_التغيير' قطرة هبوطا تماما ، أو أن "حدد..." الخيار للاختيار فقط مع عدم وجود تأثير ؟

"عند_التغيير" المنسدلة هي مكروها أكثر المعايير هاجس أنواع.

وأود أن تفعل عادة بعض التحقق من جانب العميل."يرجى تحديد عنصر من القائمة المنسدلة" نوع من الشيء.أي

أن "اختيار..." الخيار للاختيار فقط مع عدم وجود تأثير ؟

لذا قلت "نعم" إلى A أو B السؤال.:/ آسف!

للأسف لا يهم حقا ما يجب أن يحدث ، لأن أي لا دعم المعاقين السمة على الخيارات الفترة.

http://webbugtrack.blogspot.com/2007/11/bug-293-cant-disable-options-in-ie.html

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top