• 0

كيفية عرض رسالة تنبيهية في المتصفح؟

بحثت عن طريقة عرض تحذير بشكل نافذة منبقة ووجة كود يخص sweetalert2 جربته وعمل معي بشكل ممتاز 

المشكلة في الكود انه لا يظهر التحذير الى بعد فترة من الزمن وانا اريده ان يظهر مابشرة هذا مثال على الكود 

echo '<script type="text/javascript">';
    echo 'setTimeout(function () { swal("title!","message!","error");';
echo '}, 1000);</script>';

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 1

لم يسبق لي أن تعاملت مع sweetalert2 ولكن من خلال الكود الذي وضعته, يظهر ان سبب التأخير في ظهور نافذة التحذير هي دالة setTimeout()

في الجافا سكربت الـ setTimeout يقوم بتأخير الأمر بحسب الوقت المعطى له ويحسب الوقت بالجزء من الثانية . وفي الكود المدرج أنت قد وضعت 1000 جزء من الثانية وهذا يساوي 1 ثانية.

أي ان التحذير سيقوم بالإنتظار لمدة ثانية واحدة قبل أن يظهر. فلو قمت بتغييرها من 1000 جزء من الثانية إلى 0 سيظهر التنبيه بشكل مباشر كما هو موضح بالمثال التالي :

echo '<script type="text/javascript">';
    echo 'setTimeout(function () { swal("title!","message!","error");}, 0);';
echo '</script>';

 

 

2 اشخاص أعجبوا بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 1

من المفترض ان تعمل بدون مشاكل, قم بتجربة وضع القيمة 1 عوضاً عن 100. 

ايضاً اختيار الـ setTimeout من الممكن انه لايتناسب مع حاجتك. 

 

فمثلاً إذا كنت تريد وضع إشعار في حال الضغط على زر معين. فمن الممكن عمله كالتالي : 

قم بإضافة الزر في صفحة HTML (بإمكانك اضافتها في echo على ال PHP)

<button onclick="showError()">Show Error</button>

لاحظ أني استخدمت onclick وهذا سيقوم بإستدعاء الدالة في حالة الضغط على الزر. 

الان قم بإضافة الدالة وحذف setTimeout وايضاً إعطائها اسم كما هو بالمثال التالي: 

echo '<script type="text/javascript">';
echo 'function showError() { swal("title!","message!","error");}';
echo '</script>';

 

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0
بتاريخ 14 ساعات قال محمد المري2:

لم يسبق لي أن تعاملت مع sweetalert2 ولكن من خلال الكود الذي وضعته, يظهر ان سبب التأخير في ظهور نافذة التحذير هي دالة setTimeout()

في الجافا سكربت الـ setTimeout يقوم بتأخير الأمر بحسب الوقت المعطى له ويحسب الوقت بالجزء من الثانية . وفي الكود المدرج أنت قد وضعت 1000 جزء من الثانية وهذا يساوي 1 ثانية.

أي ان التحذير سيقوم بالإنتظار لمدة ثانية واحدة قبل أن يظهر. فلو قمت بتغييرها من 1000 جزء من الثانية إلى 0 سيظهر التنبيه بشكل مباشر كما هو موضح بالمثال التالي :


echo '<script type="text/javascript">';
    echo 'setTimeout(function () { swal("title!","message!","error");}, 0);';
echo '</script>';

شكرا لك لكن للاسف الان لم تعد تعمل :(

قمت بوضع 100 بدل من صفر يعمل بشكل اسرع الان

 

 

 

تمّ تعديل بواسطة برهم كمال

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

انا اريده ان يظهر مثلا عند تسجيل دخول العضو في حال كان هناك شيء خطا يظهر له ^_^ 

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0
بتاريخ 18 دقائق مضت قال برهم كمال:

انا اريده ان يظهر مثلا عند تسجيل دخول العضو في حال كان هناك شيء خطا يظهر له ^_^ 

 

اذا كنت تريده يظهر عند تسجيل الدخول في حالة أن هنالك خطأ في بيانات تسجيل الدخول , 

لا تحتاج الى setTimeout بل ستحتاج إلى onclick event وتضيف داخل الدالة خيارات التحقق من البيانات. 

أو تقوم بإضافة swal("title!","message!","error"); داخل دالة التحقق من البيانات الموجودة. 

فانت لاتحتاج إلى اضافة دالة منفصلة إذا كانت هنالك دوال موجودة مسبقاً , فقط عليك إضافة الكود داخل هذه الدوال. 

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن