الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]عندي كود جافا سكربت يعمل على الإنترنت إكسبلورر ولا يعمل على فير فوكس

بدأه عبد المعز في 25 مايو 2008 · 10 رد · 2,314 مشاهدة · في قسم البرمجة بــ Javascript
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الكود عبارة عن event handler يقوم بوضع صح في مجموعة من checkbox اذا كانت حالة الCHECKBOC في الHEADER هي checked الكود يعمل على ie لكن لا يعمل على فير فوكس .

function checkBoxChanged(row,element)
{

	if (element.checked)
	{
	  row.style.backgroundColor='#eefae6';
	}
	else
	{
	  row.style.backgroundColor='#ffffff';
	}
}
function HeaderCheck(box,table)
{  
   if (box.checked)
	  for (var i=0;i<table.rows.length;i++)
	  {
		  table.rows.cells[0].childNodes[0].checked=true;
		  table.rows.style.backgroundColor='#eefae6';
	  }
   else
	  for (var i=0;i<table.rows.length;i++)
	  {
		  table.rows.cells[0].childNodes[0].checked=false;
		  table.rows.style.backgroundColor='#ffffff';
	  }
}

وفي حدث onclick لل check box استدعي الدالة .

#2
childNodes[0]

في الفاير فوكس وباقي المتصفحات يبدأون الترقيم بشكل مختلف وهو الشكل القياسي بعكس مايكروسوفت

فتكون

childNodes[0]

هي

childNodes[1]

في كل المتصفحات عدا IE

بإمكانك معالجة هذا الخطأ بشكل بسيط وذلك عن طريق وضع شرط:

if (table.rows.cells[0].childNodes[0] == null)

فإذا تحقق الشرط فالمتصفح ليس IE إذا نأخذ

table.rows.cells[0].childNodes[1]

جربه وأعلمني بالنتائج

#3

لا اظن ان المشكلة كما تقول اخي و بالكود كله لا يتم تنفيذه , على العموم ساجرب

#4

واجهتني هذه المشكلة من قبل وحللتها بالطريقة التي أخبرتك عنها

لكن بعد تعرفي على مكتبة jQuery اختصرت الكود إلى الثلث وضمنت عدم وجود خلل بين المتصفحات لأن هذه المكتبة تأمن (cross-browser)

تم تعديل هذه المشاركة بواسطة خالد_الحوراني في 25 مايو 2008 في 20:27

#5

اخي وضعت

alert(box.id);

في اول الفنكشن ومع ذلك لم تتنفذ ال alert حتى ؟

#6

حاول استخدام firebug

لمعرفة مكان حدوث الخطأ فهو يزودك بمحرر جافا سكربت رهيب

http://www.getfirebug.com/

#7
خالد_الحوراني كتب:
حاول استخدام firebug

لمعرفة مكان حدوث الخطأ فهو يزودك بمحرر جافا سكربت رهيب

http://www.getfirebug.com/

ياعيني عليك خالد ..

هذا فيديو بهذا الخصوص لمن يهمه الامر :

http://www.digitalmediaminute.com/screencast/firebug-js/

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#8

بصراحة لم افهم على firebug على العموم اشكرك اخي على تعاونك معي .

حللت المشكلة , المشكلة الرئيسية في الدالة نفسها

function HeaderCheck(box,table)

المشكلة كانت في البارمتر , كنت ارسل الtable على شكل object , لكنت جربت وارسلت الID ثم في داخل الدالة حصلت على الObject عن طريق استخدام getElementById و الدالة تعمل بشكل جيد مع مراعاة ملاحظتك الاولى بخصوص الindex of childnods اشكرك اخي .

تم تعديل هذه المشاركة بواسطة عبد المعز في 26 مايو 2008 في 09:25

#9

@محمد معاشر: شكراً على الإطراء

@عبد المعز:

عفواً وهذا أقل من واجبي ...

لكن لم تقل لي هل انحلت المشكلة ؟؟

بالنسبة لمكتبة jQuery هي عبارة عن ملف حجمه بعد الضغط 20 كيلو (لكي لا يعتقد أحد ما أنه برنامج حجمه بالميغا) ، مهمته تسهيل حياتك الجافا سكربتية ... أي تسهيل برمجة الجافا سكربت (طبعاً هذه مهمتها الأساسية) ... لا أستطيع التحدث عنها أكثر من ذلك لكن كل ما أقوله أني قبل استخدامْها كتبت كود حوالي 200 سطر وبعدها أصبح الكود عبارة عن 50 سطر فقط ... وأعدك أني سأتحدث عنها بإسهاب في مرة أخرى

هذا بالإضافة لميزة (cross-browser) ... أي لا تقلق بعد الأن فالكود الذي تكتبه سيعملعلى جميع المتصفحات

هذه مجموعة مواقع تستخدم المكتبة (قل لي رأيك بعد رؤية هذه المواقع هل هي جيدة أم لا؟؟):

http://docs.jquery.com/Sites_Using_jQuery

#10

نعم اخي المشكلة حلت

#11

بسم الله الرحمن الرحيم

تمت الإجابة على الموضوع

إدارة الفريق العربي للبرمجة

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…