سؤال

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

وبالتحديد، يتم ترك الانحياز مربع الإدخال في حين ينبغي ان تركز كعنصر المضمنة. ذات الصلة CSS:

form#prompt {
    position: absolute;
    height: 300px;
    width: 600px;
    margin: -150px 0 0 -300px;
    top: 50%;
    left: 50%;
    text-align: center; 
}

input#password { 
    margin: 10px auto;
    padding: 5px 10px;
    text-align: center;
    width: 398px;
    display: inline; 
}

وHTML ذات الصلة:

<form id="prompt">
    <input type="text" name="password" id="password" />
</form>

والآن الشيء الغريب حقا هو أنه عندما قمت بتشغيل تقديم المستمع على النموذج، والتي ترجع كاذبة وتهيئة $('#prompt_output').text(' ').css('opacity',0).text('Access granted. Loading...').fadeTo(200,1); رد، ويعمل كل شيء. حقوق المدخلات نفسها. في الواقع، حتى عندما يكون الاستدعاء هو مجرد $('#prompt_output').text(' ')، وأنها تعمل. مجرد اختيار $('#prompt_output'); عنصر لا تفعل أي شيء.

وسيكون موضع تقدير أي مساعدة.

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

المحلول

وبدون تغيير جذري في CSS / الترميز وأعتقد أن هذا لا يحل المشكلة في IE7 (لم تختبر في IE6).

وحاول التفاف التسمية حول المدخلات - ليست لدي فكرة لماذا يعمل ولقد اختبرت فقط في IE7، IE8 وفايرفوكس ولكن يبدو أن تفعل خدعة

<label for="password" class="instruction">
    Access restricted: enter password
   <br>
   <input name="password" id="password" type="text">
</label>

نصائح أخرى

ولقد شغلت الصفحة من خلال مقلدا وهذا هو الواضح أن IE7 والسابقة مشكلة الإصدارات. وهي تعمل على FF وعلى IE8. ولكن أعتقد أنك تعرف بالفعل ذلك.

وأقترح عليك أن تفعل حل سريع والقذرة - بإضافة ONLOAD إلى <body> الذي سيتم تشغيله $('#prompt_output').text(' ')، فقط لوضع الامور في نصابها الصحيح. عندما يكون لديك الوقت لاستكشاف IE6 / 7 البق، وأنا أقترح عليك محاولة لتغيير تخطيط، لأنني أعتقد أن IE لا يعرف كيفية تفسير CSS بشكل صحيح.

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