استخدم هذا الموضوع لفهم كيفية تطبيق سلوكيات JavaScript المدمجة في Adobe Dreamweaver.
استخدام السلوكيات المضمنة
تم كتابة السلوكيات المضمنة مع Dreamweaver لتعمل في المتصفحات الحديثة. تفشل السلوكيات دون إزعاج في المستعرضات القديمة.
تم كتابة إجراءات Dreamweaver بعناية لتعمل في أكبر عدد ممكن من المتصفحات. إذا قمت بإزالة الكود من إجراء Dreamweaver يدوياً، أو استبدلته بكودك الخاص، فقد تفقد التوافق عبر المتصفحات.
على الرغم من أن إجراءات Dreamweaver تم كتابتها لتعظيم التوافق عبر المتصفحات، إلا أن بعض المتصفحات لا تدعم JavaScript على الإطلاق، والعديد من الأشخاص الذين يتصفحون الويب يحتفظون بـ JavaScript مُعطّلاً في متصفحاتهم. للحصول على أفضل النتائج عبر المنصات، وفّر واجهات بديلة محاطة بعلامات <noscript> حتى يتمكن الأشخاص الذين ليس لديهم JavaScript من استخدام موقعك.
تطبيق السلوك Call JavaScript
ينفذ سلوك Call JavaScript دالة مخصصة أو سطر من كود JavaScript عند حدوث حدث.(يمكنك كتابة دليل البرمجة بنفسك، أو يمكنك استخدام الكود المقدم من مكتبات JavaScript المتاحة مجاناً على الويب.)
على سبيل المثال، لإنشاء زر Back، قد تكتب if (history.length > 0){history.back()}. إذا كنت قد غلفت الكود الخاص بك في وظيفة، اكتب اسم الوظيفة فقط (على سبيل المثال، hGoBack()).
تطبيق السلوك Change Property
استخدم سلوك Change Property لتغيير قيمة إحدى خصائص الكائن (على سبيل المثال، لون الخلفية لـ div أو إجراء النموذج).
استخدم هذا السلوك فقط إذا كنت مألوفاً جداً مع HTML وJavaScript.
تطبيق السلوك Check Plugin
استخدم سلوك Check Plugin لإرسال الزوار إلى صفحات مختلفة حسب ما إذا كان لديهم البرنامج المساعد المحدد مُثبتاً أم لا. على سبيل المثال، قد تريد من الزوار الانتقال إلى صفحة واحدة إذا كان لديهم Shockwave وصفحة أخرى إذا لم يكن لديهم.
لا يمكنك اكتشاف البرامج المساعدة المحددة في Internet Explorer باستخدام JavaScript. ومع ذلك، فإن تحديد Flash أو Director سيضيف كود VBScript المناسب إلى صفحتك لاكتشاف هذه البرامج المساعدة في Internet Explorer على Windows. اكتشاف المكون الإضافي مستحيل في Internet Explorer على نظام التشغيل Mac OS.
يجب أن تستخدم الاسم الدقيق للإضافة كما هو محدد بخط عريض في صفحة About Plug‑ins في Netscape Navigator. (في Windows، حدد أمر Help > About Plug‑ins في Navigator؛ على Mac OS، حدد About Plug‑ins من قائمة Apple.)
إذا حددت عنوان URL بعيد، يجب أن تضمن البادئة http:// في العنوان. إذا تركت الحقل فارغًا، سيبقى الزوار في نفس الصفحة.
هذا الخيار يطبق فقط على Internet Explorer؛ Netscape Navigator يمكنه دائمًا اكتشاف الإضافات.
تطبيق السلوك Drag AP Element
سلوك Drag AP Element يتيح للزائر سحب عنصر مُوضَع تموضعًا مطلقًا (AP).استخدم هذا السلوك لإنشاء الألغاز وعناصر التحكم المنزلقة وعناصر واجهة أخرى قابلة للحركة.
يمكنك تحديد الاتجاه الذي يمكن للزائر فيه سحب عنصر AP (أفقيًا أو عموديًا أو في أي اتجاه)، هدف يجب على الزائر سحب عنصر AP إليه، ما إذا كان سيتم إلحاق عنصر AP بالهدف إذا كان عنصر AP ضمن عدد معين من البكسلات من الهدف، وماذا نفعل عندما يصل عنصر AP إلى الهدف، والمزيد.
لأن سلوك Drag AP Element يجب أن يتم استدعاؤه قبل أن يتمكن الزائر من سحب عنصر AP، يجب أن تربط Drag AP Element بكائن body (مع حدث onLoad).
إذا كان Drag AP Element غير متاح، فمن المحتمل أنك قمت بتحديد عنصر AP.
الحركة غير المقيدة (Unconstrained) مناسبة للألغاز وألعاب السحب والإفلات الأخرى.لعناصر التحكم المنزلقة والمناظر المتحركة مثل أدراج الملفات والستائر والستائر المصغّرة، حدد الحركة المقيدة.
القيم نسبية إلى الموضع الابتدائي لعنصر AP. لتقييد الحركة ضمن منطقة مستطيلة، أدخل قيمًا موجبة في جميع المربعات الأربعة. للسماح بالحركة العمودية فقط، أدخل قيمًا موجبة للأعلى والأسفل و0 لليسار واليمين. للسماح بالحركة الأفقية فقط، أدخل قيمًا موجبة لليسار واليمين و0 للأعلى والأسفل.
هدف الإفلات هو المكان الذي تريد من الزائر سحب عنصر AP إليه.يُعتبر أن عنصر AP قد وصل إلى هدف الإفلات عندما تتطابق إحداثياته اليسرى والعلوية مع القيم التي تدخلها في مربعي اليسار والأعلى.القيم نسبية إلى الزاوية العلوية اليسرى لنافذة المتصفح.انقر فوق "الحصول على الموضع الحالي" لملء مربعات النص تلقائياً بالموضع الحالي لعنصر AP.
القيم الأكبر تجعل من السهل على الزائر العثور على هدف الإفلات.
هذا الخيار مفيد عندما تحتوي الصورة داخل عنصر AP على عنصر يقترح السحب، مثل شريط العنوان أو مقبض الدرج.لا تُعين هذا الخيار إذا كنت تريد أن يتمكن الزائر من النقر في أي مكان في عنصر AP لسحبه.
اختر إحضار العنصر إلى المقدمة إذا كان عنصر AP يجب أن ينتقل إلى مقدمة ترتيب التكديس أثناء سحبه.إذا اخترت هذا الخيار، استخدم القائمة المنبثقة لتحديد ما إذا كنت تريد ترك عنصر AP في المقدمة أو استعادته إلى موضعه الأصلي في ترتيب التكديس.
أدخل كود JavaScript أو اسم دالة (على سبيل المثال، monitorAPelement()) في مربع استدعاء JavaScript لتنفيذ الكود أو الدالة بشكل متكرر أثناء سحب عنصر AP.على سبيل المثال، يمكنك كتابة دالة تراقب إحداثيات عنصر AP وتعرض تلميحات مثل "أنت تقترب" أو "أنت لست قريبًا من هدف الإفلات" في مربع نص.
جمع معلومات عن عنصر AP القابل للسحب
عندما تربط سلوك سحب عنصر AP بكائن، يدرج Dreamweaver دالة MM_dragLayer() في قسم head من مستندك.(تحتفظ الدالة بنظام التسمية القديم لعناصر AP [أي، "الطبقة"] بحيث تبقى الطبقات المُنشأة في الإصدارات السابقة من Dreamweaver قابلة للتعديل.)بالإضافة إلى تسجيل عنصر AP كقابل للسحب، تحدد هذه الدالة ثلاث خصائص لكل عنصر AP قابل للسحب—MM_LEFTRIGHT، MM_UPDOWN، وMM_SNAPPED—التي يمكنك استخدامها في دوال JavaScript الخاصة بك لتحديد الموضع الأفقي النسبي لعنصر AP، والموضع العمودي النسبي لعنصر AP، وما إذا كان عنصر AP قد وصل إلى الهدف المحدد.
المعلومات المقدمة هنا مخصصة للمبرمجين ذوي الخبرة في JavaScript فقط.
على سبيل المثال، تعرض الدالة التالية قيمة خاصية MM_UPDOWN (الموضع العمودي الحالي لعنصر AP) في حقل نموذج يُسمى curPosField.(حقول النماذج مفيدة لعرض المعلومات المُحدثة باستمرار لأنها ديناميكية—أي يمكنك تغيير محتوياتها بعد انتهاء تحميل الصفحة.)
function getPos(layerId){
var layerRef = document.getElementById(layerId);
var curVertPos = layerRef.MM_UPDOWN;
document.tracking.curPosField.value = curVertPos;
}
بدلاً من عرض قيم MM_UPDOWN أو MM_LEFTRIGHT في حقل نموذج، يمكنك استخدام هذه القيم بطرق متنوعة أخرى. على سبيل المثال، يمكنك كتابة دالة تعرض رسالة في حقل النموذج اعتماداً على مدى قرب القيمة من منطقة الإفلات، أو يمكنك استدعاء دالة أخرى لإظهار أو إخفاء عنصر AP اعتماداً على القيمة.
من المفيد بشكل خاص قراءة خاصية MM_SNAPPED عندما تكون لديك عدة عناصر AP في الصفحة، والتي يجب أن تصل جميعها إلى أهدافها قبل أن يتمكن الزائر من الانتقال إلى الصفحة أو المهمة التالية. على سبيل المثال، يمكنك كتابة دالة لحساب عدد عناصر AP التي تحتوي على قيمة MM_SNAPPED تساوي true واستدعاؤها كلما تم إفلات عنصر AP. عندما يصل عدد المحاذية إلى الرقم المطلوب، يمكنك إرسال الزائر إلى الصفحة التالية أو عرض رسالة تهنئة.
تطبيق السلوك Go To URL
سلوك الانتقال إلى URL يفتح صفحة جديدة في النافذة الحالية أو في الإطار المحدد. هذا السلوك مفيد لتغيير محتويات إطارين أو أكثر بنقرة واحدة.
تسرد قائمة "فتح في" تلقائياً أسماء جميع الإطارات الموجودة في مجموعة الإطارات الحالية بالإضافة إلى النافذة الرئيسية.في حال عدم وجود إطارات، تكون النافذة الرئيسية هي الخيار الوحيد.
قد يُنتج هذا السلوك نتائج غير متوقعة إذا كان أي إطار يحمل اسم top أو blank أو self أو parent. أحياناً تخطئ المتصفحات في اعتبار هذه الأسماء أسماء أهداف محجوزة.
تطبيق السلوك Jump Menu
عندما تُنشئ قائمة انتقال باستخدام إدراج > نموذج > قائمة انتقال، ينشئ Dreamweaver كائن قائمة ويربط سلوك قائمة الانتقال (أو انتقال قائمة الانتقال) به. لا توجد حاجة عادةً لربط سلوك قائمة الانتقال بكائن يدوياً.
يمكنك تحرير قائمة انتقال موجودة بإحدى طريقتين:
يمكنك تحرير وإعادة ترتيب عناصر القائمة، وتغيير الملفات للانتقال إليها، وتغيير النافذة التي تُفتح فيها هذه الملفات، بالنقر المزدوج على سلوك قائمة انتقال موجود في لوحة السلوكيات.
يمكنك تحرير العناصر في القائمة تماماً كما تحرر العناصر في أي قائمة، بتحديد القائمة واستخدام زر قيم القائمة في لوحة الخصائص.
تطبيق السلوك Jump Menu Go
سلوك Jump Menu Go مرتبط بشكل وثيق بسلوك Jump Menu؛ يتيح لك Jump Menu Go ربط زر Go بقائمة انتقال. (قبل استخدام هذا السلوك، يجب أن تكون قائمة القفز موجودة بالفعل في المستند.) النقر فوق زر Go يفتح الرابط المحدد في قائمة القفز. لا تحتاج قائمة القفز عادة إلى زر Go؛ تحديد عنصر من قائمة القفز يؤدي عموماً إلى تحميل عنوان URL دون الحاجة لأي إجراء إضافي من المستخدم. لكن إذا حدد الزائر نفس العنصر المختار بالفعل في قائمة القفز، فلن يحدث القفز. بشكل عام، هذا لا يهم، لكن إذا ظهرت قائمة القفز في إطار، وعناصر قائمة القفز ترتبط بصفحات في إطارات أخرى، فإن زر Go غالباً ما يكون مفيداً، للسماح للزوار بإعادة تحديد عنصر محدد بالفعل في قائمة القفز.
عندما تستخدم زر Go مع قائمة القفز، يصبح زر Go الآلية الوحيدة التي "تقفز" بالمستخدم إلى عنوان URL المرتبط بالتحديد في القائمة.تحديد عنصر قائمة في قائمة القفز لا يعيد توجيه المستخدم تلقائياً إلى صفحة أو إطار آخر.
تطبيق السلوك Open Browser Window
استخدم سلوك فتح نافذة المتصفح لفتح صفحة في نافذة جديدة. يمكنك تحديد خصائص النافذة الجديدة، بما في ذلك حجمها وسماتها (ما إذا كانت قابلة لتغيير الحجم، لها شريط قوائم، وهكذا) واسمها.على سبيل المثال، يمكنك استخدام هذا السلوك لفتح صورة أكبر في نافذة منفصلة عندما ينقر الزائر على صورة مصغرة؛ مع هذا السلوك، يمكنك جعل النافذة الجديدة بنفس حجم الصورة تماماً.
إذا لم تحدد أي خصائص للنافذة، فستفتح بحجم وخصائص النافذة التي فُتحت منها. تحديد أي خاصية للنافذة يؤدي تلقائياً إلى إيقاف جميع الخصائص الأخرى التي لم يتم تشغيلها بشكل صريح. على سبيل المثال، إذا لم تحدد أي خصائص للنافذة، قد تفتح بحجم 1024 x 768 بكسل وتحتوي على شريط تنقل (يظهر أزرار الرجوع والتقدم والصفحة الرئيسية وإعادة التحميل)، وشريط أدوات الموقع (يظهر عنوان URL)، وشريط الحالة (يظهر رسائل الحالة، في الأسفل)، وشريط القوائم (يظهر قوائم الملف والتعديل والعرض وقوائم أخرى).إذا حددت صراحة العرض إلى 640 والارتفاع إلى 480 ولم تحدد أي خصائص أخرى، ستفتح النافذة بحجم 640 x 480 بكسل، دون أشرطة أدوات.
تطبيق السلوك Popup Message
يعرض سلوك الرسالة المنبثقة تنبيه JavaScript مع الرسالة التي تحددها.نظراً لأن تنبيهات JavaScript تحتوي على زر واحد فقط (موافق)، استخدم هذا السلوك لإعطاء المستخدم معلومات بدلاً من تقديم خيار.
يمكنك تضمين أي استدعاء وظيفة JavaScript صالح أو خاصية أو متغير عام أو تعبير آخر في النص. لتضمين تعبير JavaScript، ضعه داخل أقواس معقوفة ({}). لعرض قوس معقوف، ضع شرطة مائلة عكسية قبله (\{).
مثال:
عنوان URL لهذه الصفحة هو {window.location}، واليوم هو {new Date()}.
يتحكم المتصفح في مظهر التنبيه. إذا كنت تريد المزيد من التحكم في المظهر، فكر في استخدام سلوك فتح نافذة المتصفح.
تطبيق السلوك Preload Images
يؤدي سلوك تحميل الصور مسبقًا إلى تقصير وقت العرض عن طريق تخزين الصور مؤقتًا التي لا تظهر عندما تظهر الصفحة لأول مرة (على سبيل المثال، الصور التي سيتم استبدالها بـ سلوكيات أو نصوص برمجية).
يقوم سلوك تبديل الصورة تلقائيًا بتحميل جميع صور التمييز مسبقًا عند تحديد خيار تحميل الصور مسبقًا في مربع حوار تبديل الصورة، لذا لا تحتاج إلى إضافة تحميل الصور مسبقًا يدويًا عند استخدام تبديل الصورة.
تطبيق السلوك Set Text Of Frame
يتيح لك سلوك تعيين نص الإطار تعيين نص إطار بشكل ديناميكي، واستبدال محتوى وتنسيق الإطار بـ المحتوى الذي تحدده. يمكن أن يتضمن المحتوى أي كود HTML صالح. استخدم هذا السلوك لعرض المعلومات ديناميكيًا.
على الرغم من أن سلوك تعيين نص الإطار يستبدل تنسيق الإطار، يمكنك تحديد الاحتفاظ بـ لون الخلفية للاحتفاظ بخصائص خلفية الصفحة ولون النص.
يمكنك تضمين أي استدعاء وظيفة JavaScript صالح أو خاصية أو متغير عام أو تعبير آخر في النص. لتضمين تعبير JavaScript، ضعه داخل أقواس معقوفة ({}). لعرض قوس معقوف، ضع شرطة مائلة عكسية قبله (\{).
مثال:
عنوان URL لهذه الصفحة هو {window.location}، واليوم هو {new Date()}.
طبق سلوك تعيين نص الحاوية
سلوك Set Text Of Container يستبدل المحتوى والتنسيق الخاص بحاوية موجودة (أي عنصر يمكنه احتواء نص أو عناصر أخرى) في صفحة بالمحتوى الذي تحدده. يمكن أن يتضمن المحتوى أي تعليمة برمجية مصدر لـ HTML صالحة.
يمكنك تضمين أي استدعاء دالة JavaScript صالح أو خاصية أو متغير عام أو تعبير آخر في النص. لتضمين تعبير JavaScript، ضعه داخل الأقواس المعقوفة ({}). لعرض قوس معقوف، اسبقه بخط مائل عكسي (\{).
مثال:
رابط URL لهذه الصفحة هو {window.location}، واليوم هو {new Date()}.
تطبيق سلوك Set Text Of Status Bar
سلوك Set Text Of Status Bar يعرض رسالة في شريط الحالة في الزاوية السفلى اليسرى من نافذة المتصفح. على سبيل المثال، يمكنك استخدام هذا السلوك لوصف وجهة رابط في شريط الحالة بدلاً من إظهار عنوان URL المرتبط به.غالباً ما يتجاهل الزوار أو يغفلون الرسائل في شريط الحالة (وليست كل المتصفحات توفر دعماً كاملاً لضبط نص شريط الحالة)؛ إذا كانت رسالتك مهمة، فكر في عرضها كرسالة منبثقة أو كنص لعنصر AP.
إذا كنت تستخدم سلوك Set Text Of Status Bar في Dreamweaver، فإن نص شريط الحالة في المتصفح لا يُضمن تغييره لأن بعض المتصفحات تتطلب تعديلات خاصة عند تغيير نص شريط الحالة. Firefox، على سبيل المثال، يتطلب تغيير خيار متقدم يسمح لـ JavaScript بتغيير نص شريط الحالة. لمزيد من المعلومات، راجع وثائق المستعرض الخاص بك.
يمكنك تضمين أي استدعاء دالة JavaScript صالح أو خاصية أو متغير عام أو تعبير آخر في النص. لتضمين تعبير JavaScript، ضعه داخل الأقواس المعقوفة ({}). لعرض قوس معقوف، اسبقه بشرطة مائلة عكسية (\{).
مثال:
عنوان URL لهذه الصفحة هو {window.location}، واليوم هو {new Date()}.
اجعل الرسالة مختصرة. يقطع المتصفح الرسالة إذا لم تتسع في شريط الحالة.
تطبيق سلوك Set Text Of Text Field
سلوك Set Text Of Text Field يستبدل محتوى حقل نص النموذج بالمحتوى الذي تحدده.
يمكنك تضمين أي استدعاء دالة JavaScript صالح أو خاصية أو متغير عام أو تعبير آخر في النص. لتضمين تعبير JavaScript، ضعه داخل الأقواس المعقوفة ({}). لعرض قوس متعرج، ضع قبله شرطة مائلة عكسية (\{).
مثال:
رابط URL لهذه الصفحة هو {window.location}، واليوم هو {new Date()}.
إنشاء حقل نص مسمى
إذا طلب منك Dreamweaver إضافة علامة نموذج، انقر على نعم.
تطبيق Set Text Of Text Field
تطبيق السلوك Show-Hide Elements
يُظهر سلوك إظهار-إخفاء العناصر، أو يُخفي، أو يستعيد حالة الظهور الافتراضية لعنصر واحد أو أكثر من عناصر الصفحة.هذا السلوك مفيد لعرض المعلومات بينما يتفاعل المستخدم مع الصفحة. على سبيل المثال، عندما يحرك المستخدم المؤشر فوق صورة نبتة، يمكنك إظهار عنصر صفحة يعطي تفاصيل حول موسم النمو ومنطقة النبتة، وكمية الشمس التي تحتاجها، والحجم الذي يمكن أن تنمو إليه، وهكذا. السلوك يُظهر أو يُخفي فقط العنصر ذا الصلة—لا يزيل في الواقع العنصر من تدفق الصفحة عندما يكون مخفياً.
إذا كان إظهار-إخفاء العناصر غير متاح، فربما تكون قد حددت عنصر AP. لأن عناصر AP لا تقبل الأحداث في متصفحات 4.0، يجب أن تحدد كائناً مختلفاً—مثل علامة <body> أو رابط بعلامة (<a>).
تم إيقاف هذا السلوك اعتباراً من Dreamweaver CS5.
تطبيق السلوك Swap Image
سلوك تبديل الصورة يبدل صورة بأخرى عن طريق تغيير خاصية src لعلامة <img>. استخدم هذا السلوك لإنشاء تبديلات الأزرار وتأثيرات الصور الأخرى (بما في ذلك تبديل أكثر من صورة واحدة في الوقت نفسه). إدراج صورة تبديل يضيف تلقائياً سلوك تبديل الصورة إلى صفحتك.
لأن خاصية src فقط تتأثر بهذا السلوك، يجب أن تستبدلها بصورة ذات الأبعاد نفسها (الارتفاع والعرض) مثل الصورة الأصلية.وإلا، فإن الصورة التي تبدلها ستتقلص أو تتمدد لتناسب أبعاد الصورة الأصلية.
هناك أيضاً سلوك استعادة تبديل الصورة، الذي يستعيد آخر مجموعة من الصور المبدلة إلى ملفات المصدر السابقة. هذا السلوك يُضاف تلقائياً كلما ألحقت سلوك تبديل الصورة بكائن؛ إذا تركت خيار الاستعادة محدداً أثناء إلحاق تبديل الصورة، فلن تحتاج أبداً إلى اختيار سلوك استعادة تبديل الصورة يدوياً.
ليس من الإلزامي تسمية الصور؛ حيث يتم تسميتها تلقائيًا عند ربط السلوك بكائن.ومع ذلك، يصبح الأمر أسهل لتمييز الصور في مربع الحوار استبدال الصورة إذا قمت بتسمية جميع الصور مسبقًا.
يمنع هذا تأخير التنزيل عندما يحين وقت ظهور الصور.
تطبيق السلوك Validate Form
يتحقق سلوك التحقق من صحة النموذج من محتويات حقول النص المحددة للتأكد من أن المستخدم أدخل النوع الصحيح من البيانات.اربط هذا السلوك بحقول النص الفردية مع حدث onBlur للتحقق من صحة الحقول أثناء قيام المستخدم بملء النموذج، أو اربطه بالنموذج مع حدث onSubmit لتقييم عدة حقول نص مرة واحدة عندما ينقر المستخدم على زر إرسال.ربط هذا السلوك بنموذج يمنع إرسال النماذج التي تحتوي على بيانات غير صحيحة.
كرر هذه الخطوة لإدراج حقول نص إضافية.
للتحقق من صحة الحقول الفردية أثناء قيام المستخدم بملء النموذج، حدد حقل نص واختر نافذة > سلوكيات.
للتحقق من صحة حقول متعددة عندما يُرسل المستخدم النموذج، انقر على علامة <form> في محدد العلامة في الزاوية السفلى اليسرى من نافذة المستند واختر نافذة > سلوكيات.
إذا كنت تتحقق من صحة حقول فردية، حدد نفس الحقل الذي حددته في نافذة المستند من قائمة الحقول.
إذا كنت تتحقق من صحة حقول متعددة، حدد حقل نص من قائمة الحقول.
Use Anything
يتحقق من أن الحقل المطلوب يحتوي على بيانات؛ يمكن أن تكون البيانات من أي نوع.
Use E‑mail address
يتحقق أن الحقل يحتوي على الأيقونة @.
Use Number
يتحقق أن الحقل يحتوي على أرقام فقط.
Use Number From
يتحقق من أن الحقل يحتوي على رقم في نطاق محدد.
إذا كنت تتحقق من صحة حقول متعددة عندما يُرسل المستخدم النموذج، يظهر حدث onSubmit تلقائيًا في قائمة الأحداث.
يؤدي كلا الحدثين إلى تشغيل سلوك التحقق من صحة النموذج عندما ينتقل المستخدم بعيدًا عن الحقل.الفرق هو أن onBlur يحدث سواء كتب المستخدم في الحقل أم لا، وonChange يحدث فقط إذا غيّر المستخدم محتويات الحقل.حدث onBlur مُفضل إذا كان الحقل مطلوبًا.
قم بإنشاء مواقع ويب جميلة في Dreamweaver
قم بتصميم مواقع الويب الديناميكية وبرمجتها وإدارتها في أداة قوية متكاملة.