بينما نستخدم المتصفح كبيئة تجريبية، تعال نرى بعض الدوال المستخدمة في التعامل مع المستخدم: alert
و prompt
و confirm
.
alert
هذه رأيناها بالفعل. إنها تظهر رسالة وتنتظر من المستخدم أن يضغط على “OK”.
على سبيل المثال:
alert("Hello");
النافذة الصغيرة التي تحتوي على رسالة تدعى modal window. الكلمة “modal” تعني أن المستخدم لا يستطيع أن يتفاعل مع باقي الصفحة، مثل الضغط على أزرار أخرى، إلخ، حتى يتعامل مع هذه النافذة. في هذه الحالة – حتى يضغط على “OK”.
prompt
الدالة prompt
تقبل معاملين اثنين:
result = prompt(title, [default]);
إنها تظهر نافذة مشروطة برسالة نصية و حقل إدخال للزائر و وأزرار OK/Cancel.
title
- النص الذي يظهر في الزائر.
default
- معامل ثاني إختياري، القيمة الأولية لحقل الإدخال.
[...]
الأقواس المربعة حول default
في الكود أعلاه يوضح أن المعامل إختياري، ليس مطلوب.
الزائر يستطيع كتابة أي شئ في حقل الإدخال ويضغط أوك. ثم نحصل على النص في النتيجة
. أو يستطيع إلغاء الإدخال بالضغط على إلغاء أو الضغط على زرار Esc ، عندها سنحصل على null
كresult
.
إستدعاء prompt
ترجع النص من حقل الإدخال أو null
لو هذا الإدخال تم إلغاؤه.
على سبيل المثال:
let age = prompt('كم عمرك؟', 100);
alert(`أنت عمرك ${age} سنة!`); // أنت عمرك 100 سنة!
default
المعامل الثاني إختياري، لكن إذا لم يتم إدخاله، انترنت اكسبلورر سيدخل النص "undefined"
داخل حقل الإدخال.
جرب هذا الكود في متصفح إنترنت إكسبلورر وسترى:
let test = prompt("Test");
لذلك، ال prompts لكي تظهر بشكل جيد في انترنت اكسبلورر، ننصح دائما بتزويد المتصفح بالمعامل الثاني:
let test = prompt("Test", ''); // <-- for IE
confirm
الكود:
result = confirm(question);
الدالة confirm
تظهر نافذة مشروطة ب سؤال
و زرارين: OK and Cancel.
النتيجة هي true
لو تم الضغط على زر أوك أوfalse
لغير ذلك.
على سبيل المثال:
let isBoss = confirm("هل أنت المدير؟");
alert( isBoss ); // true لو زر أوك تم الضغط عليه
ملخص
غطينا 3 دوال خاصة بالمتصفح للتعامل مع الزوار:
alert
- يظهر رسالة.
prompt
- يظهر رسالة تسال المستخدم لإدخال نص. يتم إرجاع النص ، أو زر إلغاء أو زر Esc تم الضغط عليه، أو
null
. confirm
- تظهر رسالة وتنتظر المستخدم ليضغط على زر “OK” أو “Cancel”. ترجع
true
في حالة أوك وfalse
في حالة Cancel/Esc.
كل هذه الطرق مشروطة: إنها توقف تنفيذ الكود ولا تسمح للزائر للتعامل مع باقي الصفحة حتى يتم صرف النافذة .
يوجد قيدان مشتركان لكل الطرق أعلاه :
- الموقع المضبوط للنافذة المشروطة يتم تقريره من خلال المتصفح. عادة، إنها تكون في المنتصف.
- الشكل المضبوط للنافذة أيضاً يعتمد على المتصفح . لا نستطيع تعديله.
هذا ثمن البساطة. هناك طرق أخرى تظهر نوافذ ألطف و أغنى في التعامل مع المستخدم، لكن لو “الأجراس و الصفارات” لا تهم كثيراً، هذه الطرق تعمل بشكل جيد.
التعليقات
<code>
، وللكثير من السطور استخدم<pre>
، ولأكثر من 10 سطور استخدم (plnkr, JSBin, codepen…)