اذهب إلى المحتوى

السؤال

نشر

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

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

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

 

Recommended Posts

  • 1
نشر

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

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

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

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

 

 

  • 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>';

 

 

  • 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
نشر
بتاريخ 18 دقائق مضت قال برهم كمال:

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

 

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

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

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

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

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...