it-swarm.asia

الإكمال التلقائي للنموذج لا يعمل

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

في IE8 أنها لا تعمل على الإطلاق. النماذج الأخرى تعمل ولكن في الشكل _ لا تتذكرIE قيمة إدخال واحدة. تم تشفير SSL للنموذج ، لكن لا أعتقد أن هذا هو السبب لأنني جربت نماذج SSL الأخرى التي تعمل. أي نصائح؟ شكر!

4
Nick

وفقًا لـ مقالة MSDN على الإكمال التلقائي ، فإن المشكلة ليست طبقة مآخذ توصيل آمنة (SSL) وحدها ، بل هي مزيج من SSL ورؤوس ذاكرة التخزين المؤقت التي يتم إرسالها بواسطة الخادم الخاص بك:

Note: if both of the following conditions are true:
   1. The page was delivered over HTTPS
   2. The page was delivered with headers or a META tag that prevents caching

...the Autocomplete feature is disabled, regardless of the existence or 
value of the Autocomplete attribute. This remark applies to IE5, IE6, 
IE7, and IE8.

لذا ، إذا كنت تقدم صفحة عبر ssl ، فستحتاج إلى تعديل _ Cache-control الرؤوس التي يرسلها خادمك إلى private, must-revalidate للسماح IE الإكمال التلقائي للعمل على هذه الصفحات.

لقد حدث ذلك عدة مرات على التدفق المكدس ، مع هذه الإجابة تكون مفيدة بشكل خاص ، بما في ذلك تأكيد من مهندس MS أن IE مصمم للعمل بهذه الطريقة.

3
ConroyP

الإكمال التلقائي عادةً "يعمل فقط" إلا إذا قمت بتعطيله بنشاط (إما عن طريق إعداد autocomplete="off" السمة في النموذج أو عناصر الإدخال أو عن طريق تعطيلها عبر أدوات> خيارات الإنترنت> علامة تبويب المحتوى ).

ومع ذلك ، IE لديها طريقة مناسبة لإخبار حقل INPUT بنوع حقل الإكمال التلقائي الذي تستخدمه. يستخدم VCard مخطط التسمية للقيام بذلك. هذا يظهر بشكل أفضل في مثال:

<input type="text" name="email" vcard_name = "vCard.Email" />

<input type="text" name="officephone" vcard_name = "vCard.Business.Phone" />

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

مجرد كلمة تحذير: السمتان vcard_name و autocomplete ملائمتان لـ IE وهما لا HTML القياسي (X) وبالتالي إذا كنت تستخدمها فلن يتم التحقق من صحة صفحتك. أنا شخصياً أتجنبها ، لكنني أعرف ما إذا كان هذا يحدث أي فرق.

0
Dan Diplo