لا تتم مطالبة نموذج IE7 بتذكر كلمة المرور عند إرساله عبر جافا سكريبت

StackOverflow https://stackoverflow.com/questions/158438

سؤال

لدي موقع ويب نستخدم فيه Javascript لإرسال نموذج تسجيل الدخول.في Firefox، يطالب المستخدم بتذكر كلمة المرور الخاصة به، عند تسجيل الدخول، ولكن في IE7 لا يحدث ذلك.

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

<html>
<head>
<title>test autocomplete</title>
<script type="text/javascript">
function submitForm()
{
    return document.forms[0].submit();
}
</script>
</head>
<body>
<form method="GET" action="test_autocomplete.html">
<input type="text" id="username" name="username">
<br>
<input type="password" id="password" name="password"/>
<br>
<a href="javascript:submitForm();">Submit</a>
<br>
<input type="submit"/>
</form>
</body>
</html>

لا يحصل رابط href على المطالبة ولكن زر الإرسال سيظهر في IE7.كلاهما يعمل في فايرفوكس.

لا يمكنني جعل نمط موقعي يبدو متماثلًا باستخدام زر إرسال، هل يعرف أحد كيفية ظهور مطالبة تذكر كلمة المرور عند الإرسال عبر Javascript؟

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

المحلول

لماذا لا تحاول ربط النموذج بهذه الطريقة؟

<html>
    <head>
        <title>test autocomplete</title>
        <script type="text/javascript">
            function submitForm()
            {
                    return true;
            }
        </script>
    </head>
    <body>
        <form method="GET" action="test_autocomplete.html" onsubmit="return submitForm();">
            <input type="text" id="username" name="username">
            <br>
            <input type="password" id="password" name="password"/>
            <br>
            <a href="#" onclick="document.getElementById('FORMBUTTON').click();">Submit</a>
            <br>
            <input id="FORMBUTTON" type="submit"/>
        </form>
    </body>
</html>

وبهذه الطريقة ، سيتم استدعاء وظيفتك سواء تم النقر على الرابط أو يتم الضغط على زر الإرسال (أو تم الضغط على مفتاح Enter) ويمكنك إلغاء التقديم عن طريق إرجاع FALSE. قد يؤثر هذا على الطريقة التي يفسر بها IE7 تقديم النموذج.

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

نصائح أخرى

هل حاولت وضع عنوان url في href وإرفاق معالج حدث النقر لإرسال النموذج وإرجاع خطأ من معالج النقر حتى لا يتم التنقل إلى عنوان url.

هل يتم تشغيل زر إرسال مخفي بدلاً من ذلك عبر جافا سكريبت؟

يمكنك محاولة استخدام u003Cbutton>علامة HTML بدلاً من الرابط أو زر إرسال.u003C/button>

فمثلا،

<button type="submit">Submit</button>

u003Cbutton>العلامة أسهل بكثير من التصميم من المعيارu003Cinput type="submit"> . هناك بعض المراوغات المتقاطعة ولكنها لا يمكن التغلب عليها.u003C/button>

u003Cbutton>يمكن العثور على مقالة رائعة حقًا حول استخدام Particletree:u003C/button> إعادة اكتشاف عنصر الزر

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