في هذا الجزء من المقالات التعليمية، نتطرَّق إلى لغة JavaScript كما هي بدون تعديلات خاصة بالبيئة. لكن ما زلنا نستخدم المتصفح كبيئة تجريبية، لذلك يجب أن تتعرف على عددٍ قليلٍ من دوال واجهة المستخدم الخاصة به. ستتعرف في هذا الفصل على هذه الدوال التفاعلية الخاصة بالمتصفح.
الدالة alert
الصياغة:
alert(message);
تعرض هذه الدالة رسالة نصية وتوقف تنفيذ السكربت مؤقتًا حتى يضغط المستخدم على «موافق» (OK). إليك الشيفرة البسيطة التالية مثلًا:
alert("مرحبًا");
تسمى الرسالة النصية التي تظهر على شكل نافذة صغيرة تدعى «النافذة المنبثقة الشرطية» (modal window، وهي عنصر تحكم رسومي)؛ تعني كلمة «شرطية» أنه لا يمكن للزائر التفاعل مع بقية الصفحة، أو الضغط على أزرار أخرى وما إلى ذلك، إذ تشترط عليه التفاعل معها فقط، أي حتى يضغط على «موافق» (Ok) في هذه الحالة.
الدالة prompt
تقبل الدالة prompt
وسيطين (arguments) لتكون صياغتها بالشكل التالي:
result = prompt(title, [default]);
تعرض هذه الدالة نافذة منبثقة شرطية مع رسالة نصية مخصصة، وحقل إدخال للمستخدم، وزرَّين (موافق [OK] وإلغاء [CANCEL]).
-
الوسيط
title
: هو عبارة عن النص الذي سيعرض للمستخدم. -
الوسيط
default
: هو وسيط اختياري يمثِّل القيمة الأولية لحقل الإدخال الخاص بالمستخدم.
قد يكتب المستخدم شيئًا ما في حقل الإدخال، ثمَّ يضغط على موافق (Ok). أو يمكنه إلغاء الإدخال عند الضغط على إلغاء (CANCEL) أو الضغط على مفتاح الهروب (Esc).
استدعاء الدالة prompt
يرجع سلسلة نصية تمثِّل القيمة التي أدخلها المستخدم في حقل الإدخال أو يرجع القيمة null
إذا تم الخروج من النافذة وإلغائها. جرب نفِّذ المثال التالي في الطرفية وعدل عليه:
let age = prompt('كم عمرك؟', 100); alert(`عمرك ${age} سنة!`);
في IE (أي المتصفح Internet Explorer)، دائمُا ما يتم إضافة الوسيط default
. أي هذا الوسيط اختياري في جميع المتصفحات باستثناء المتصفح IE الذي يعدُّه اجباريًّا، وإذا لم نحدِّد قيمته، يفترض المتصفح Internet Explorer أنَّ قيمته "undefined"
.
نفِّذ هذه الشيفرة في متصفح Internet Explorer لرؤية الناتج:
let test = prompt("Test");
لجعل الدالة prompt
تعمل جيدًا في المتصفح IE، نوصي دائمًا بتمرير قيمة الوسيط الثاني default
:
let test = prompt("Test", ''); // <-- IE للمتصفح
الدالة confirm
الصياغة:
result = confirm(question);
تُظهر الدالة confirm
نافذة منبثقة شرطية تحتوي على سؤال question
، وزريّن (موافق [OK] وإلغاء [CANCEL]). تكون النتيجة true
إذا ضغط المستخدم على الزر "Ok" وتكون false
عدا ذلك. جرِّب المثال التالي في طرفيتك:
let isBoss = confirm("Are you the boss?"); alert( isBoss );
الخلاصة
ذكرنا في هذا المقال ثلاثة دوال للتفاعل مع مستخدمي الموقع وهي:
-
الدالة
alert
: تعرض رسالة لإعلام المستخدم بشئ ما، وُتعطل كافة عمليات الصفحة حتى يتفاعل مع هذه الرسالة. -
الدالة
prompt
: تعرض رسالة تطلب من المستخدم إدخال شيء ما في حقل إدخال خاص لتعيد القيمة المدخلة في سلسلة نصية، أو ترجع القيمةnull
إذا تم العملية. -
الدالة
confirm
: تعرض رسالة (بمثابة سؤال) وتنتظر من المستخدم الرد عليها بالقبول أو الرفض، أي تكون النتيجةtrue
إذا تم الضغط على زر "Ok" أو تكونfalse
عدا ذلك.
كل هذه الدوال مشروطة: فهي تتوقف عن تنفيذ السكربت ولا تسمح للمستخدم بالتفاعل مع بقية الصفحة حتى يتم التفاعل مع النافذة التي تعرضها.
هناك اثنين من القيود التي تشترك بها جميع الدوال المذكورة أعلاه:
- يحدد المتصفح الموقع الذي ستظهر فيه النافذة، وعادة ما يكون في الوسط أو الأعلى.
- يعتمد شكل النافذة أيضًا على المتصفح، ولا يمكننا تعديله.
هذا هو ثمن البساطة. هناك طرق أخرى لإظهار نوافذ أكثر جمالًا وفاعلية، ولكن إذا كانت التنسيقات الجمالية غير مهمة، فهذه الدوال تفي بالغرض.
تمارين
صفحة بسيطة
الأهمية: 4
قم بإنشاء صفحة ويب تطلب اسمًا ما ثم تعرضه.
الحل
شيفرة JavaScript:
let name = prompt("ما اسمك؟", ""); alert(name);
الشيفرة كاملة:
<!DOCTYPE html> <html> <body> <script> 'use strict'; let name = prompt("ما اسمك؟", ""); alert(name); </script> </body> </html>
ترجمة -وبتصرف- للفصل Interaction: alert, prompt, confirm من كتاب The JavaScript Language
اقرأ أيضًا
- المقال التالي: المعاملات الشرطية
- المقال السابق: معاملات الموازنة
- كامل مقالات دليل تعلم جافاسكربت
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.