لماذا تبقى خانة الاختيار التحقق في FF3 ولكن ليس في IE, Chrome أو

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

سؤال

حتى لا يكون الاختيار

<asp:CheckBox ID="chkOrder" runat="server" Visible='<%#IsCheckBoxVisible() %>' 
     Checked="false"
     OnCheckedChanged="chkOrder_CheckedChanged" AutoPostBack="true" 
     EnableViewState="false"></asp:CheckBox>

واحد أعلاه.الآن يتم تحديد خانة الاختيار في gridview على databound - لجميع الصفوف في gridview خانة الاختيار تعيين إلى false.المشكلة هي أن أول خانة الاختيار لا يزال صحيحا التحقق.

في أي مشكلة لا وجود لها نفس للكروم.أنا على التوالي من الخيارات.أيضا إذا كنت تستخدم

$("checkboxName").attr("checked"); // verified on jquery ready function.

في FF هذا صحيح ؛ أي كاذبة ؛ كروم كاذبة.

أي نصائح ؟

تحرير

الآن الحصول على استعداد لهذا :في إنشاء html - لا يوجد فحص السمة.الفرق بين FF و IE بالضبط نفس.

شيء آخر - الشبكة الذي يحتوي على خانات قد ajax لوحة على ذلك وعندما صفحة الشبكة ، في محاولة للذهاب إلى الصفحة 2 - checkedChanged في codebehind يتم تشغيلها.

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

المحلول

في بعض الترميز php فعلت في الآونة الأخيرة لاحظت أن FF3 كان تذكر ما تحققت حتى بعد F5 تحديث الصفحة.يبحث في المصدر أظهرت الصحيح HTML التي أردت إنشاء.كمحاولة للتغلب على هذا هو الذهاب إلى شريط العنوان و قوة طلب الصفحة مرة أخرى.

لماذا هذا العمل كان من الضروري لست متأكدا, ولكن من الطبيعي الاستخدام منظور أنا أقدر ذلك ، ليس فقط خلال التنمية.

نصائح أخرى

فايرفوكس يتذكر حالة من حقول النموذج بشكل افتراضي. Ctrl+F5 قوة فايرفوكس مسح ذاكرة التخزين المؤقت هذه.

يمكنك تعطيل هذا الفردية شكل و عناصر الإدخال:

<form autocomplete="off"> 

<input ... autocomplete="off" /> 

يجب حذف "فحص" سمة تماما إذا كنت لا تريد خانة الاختيار فحص التدقيق يتم تشغيلها من قبل وجود من checked سمة لا قيمة لها:

خانات (و أزرار الراديو) على/قبالة التبديل قد يكون مثبت من قبل المستخدم. التبديل هو "على" عندما تحكم عنصر فحص تم تعيين سمة.

http://www.w3.org/TR/html401/interact/forms.html#checkbox

بالنسبة لي, العلامات التالية تنتج خانة الاختيار والتي يتم فحصها في IE, Firefox and Opera, كما كنت تتوقع بناء على المواصفات:

<input type="checkbox" checked="false">

هذا يسلط الضوء على عادة غريبة مع مربعات.هنا بعض جدا html بسيطة خطرت لي حقا باختصار بشكل صحيح:

<html>
<body>

<input type="checkbox" checked="false" id="cb" />

<script language="javascript">
if (cb.checked == true)
  document.write('this is retarded');
</script>

</body>
</html>

هل حاولت مقارنة genrated HTML من FF و IE ؟ (مع "عرض مصدر html")

فقط حصر المشكلة قليلا أكثر دقة.أنها ليست سوى فرصة ضئيلة ، ولكن إذا HTML هو مختلف عن كل المتصفحات لديك مشكلة في serverside كيف ASP يخلق HTML.

إذا كان كلاهما نفس HTML بالكامل شكوى كنت قد وجدت علة في FF ،

هذا يحدث أيضا أن حدد مربعات في فايرفوكس 3 ، والتي يمكن أن تسبب ألم كبير إذا كنت تستخدم قال صندوق لتشغيل اياكس/تحديث الصفحة.

إذا كان المستخدم بتحديث الصفحة أو يعني بعض الظهر-زر غرابة أنها يمكن في نهاية المطاف مع حدد مربع لازالت محددة, ولكن في الحقيقة أن الأمم المتحدة-تحديد وإعادة تحديد من أجل إعادة تشغيل اياكس.

في هذه الحالة لقد وجدت أن استخدام body onunload الحدث لمسح أي حدد / خانات "يحل" "مشكلة".

$("input[id$=chkOrder]").click(function() {        
    if (!$(this).attr("checked")) { $(this).removeAttr("checked"); }
    else { $(this).attr("checked", "checked"); }
})
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top