پویا واقفی
3 سال پیش توسط پویا واقفی مطرح شد
5 پاسخ

عدم کنسل شدن پیغام در SweetAlert

سلام دوستان، من از sweetalertjs دارم استفاده میکنم و این کد رو نوشتم برای تایید کردن عملیاتی که کاربر میخواهد انجام دهد:

$(document).on('click', '#btn-submit', function(e) {
            e.preventDefault();
            let form = $(this).parents('form');
            swal(
                {
                    title: "توجه!",
                    text: "ایا مطمئن هستید میخواهید برای این دوره کیف پول نقدی قرار دهید؟",
                    type: "warning",
                    allowEscapeKey: false,
                    allowOutsideClick: false,
                    showCancelButton: true,
                    confirmButtonColor: "#DD6B55",
                    confirmButtonText: "بله",
                    cancelButtonText: "خیر",
                    showLoaderOnConfirm: true,
                    closeOnConfirm: false
                }).then((isConfirm) => {
                if (isConfirm) {
                    document.getElementById("myForm").submit();
                    return true;
                }
                return false;
            });
        });

در حال حاضر صفحه پیغام به درستی نمایش داده میشود و وقتی "بله" را هم میزنم فرم به درستی submit میشود اما گزینه "خیر" کار نمیکند و در واقع اگر این دکمه را بزنم بازهم فرم submit میشود!

ممنون میشم در این زمینه کمکم کنید...

این هم فرم من هست:

<form id="myForm" action="{{ route('acceptWallet') }}" method="POST">
   @csrf
   <input type="checkbox" id="btn-submit" name="wallet_checked" onchange="this.form.submit();">
</form>

ثبت پرسش جدید
پویا واقفی
تخصص : برنامه نویسی سرورساید
@vagefipouya 3 سال پیش مطرح شد
0

ممنون از دوستانی که جواب دادند. اما من این کد رو تست کردم و درست شد:

if (isConfirm.value === true) {
                document.getElementById("myForm").submit();
                return true;
            }
            return false;

محمدحسن فرهادی
تخصص : علاقه مند به کد نویسی
@farhadi 3 سال پیش مطرح شد
1

@vagefipouya سلام. یه دونه else if بذار تست کن


پویا واقفی
تخصص : برنامه نویسی سرورساید
@vagefipouya 3 سال پیش آپدیت شد
0

@farhadi سلام، اگه منظورتون این هست که بنویسم:

if (isConfirm === true){
document.getElementById("myForm").submit();
return true;
}else if(isConfirm === false){
console.log('NO');
}else{
console.log('undefined');
}

در اینصورت شرط isConfirm === false اجرا میشه. و وقتی هم که روی دکمه "بله" کلیک میکنم هیچ اتفاقی نمی افته و فرم کلا submit نمیشه!


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 3 سال پیش مطرح شد
1

سلام
@vagefipouya
نمیدونم از کدوم ورژنش استفاده میکنید
این نمونه کد رو ببینید :

swal({
  title: "Are you sure?",
  text: "Once deleted, you will not be able to recover this imaginary file!",
  icon: "warning",
  buttons: true,
  dangerMode: true,
})
.then((willDelete) => {
  if (willDelete) {
    swal("Poof! Your imaginary file has been deleted!", {
      icon: "success",
    });
  } else {
    swal("Your imaginary file is safe!");
  }
});

لینک :

https://sweetalert.js.org/guides/

موفق باشید


رضا جهانگیر
تخصص : Full-Stack Developer
@rezajahangir 3 سال پیش مطرح شد
1

سلام به شما دوست عزیز.
کدتونو به صورت زیر بنویسید.

$(document).on('click', '#btn-submit', function(e) {
            e.preventDefault();
            let form = $(this).parents('form');
            swal(
                {
                    title: "توجه!",
                    text: "ایا مطمئن هستید میخواهید برای این دوره کیف پول نقدی قرار دهید؟",
                    type: "warning",
                    allowEscapeKey: false,
                    allowOutsideClick: false,
                    showCancelButton: true,
                    confirmButtonColor: "#DD6B55",
                    confirmButtonText: "بله",
                    cancelButtonText: "خیر",
                    showLoaderOnConfirm: true,
                    closeOnConfirm: false
                }).then((result) => {
                if (result.isConfirmed) {
                    document.getElementById("myForm").submit();
                }
            })
        }

موفق باشید.


پویا واقفی
تخصص : برنامه نویسی سرورساید
@vagefipouya 3 سال پیش مطرح شد
0

ممنون از دوستانی که جواب دادند. اما من این کد رو تست کردم و درست شد:

if (isConfirm.value === true) {
                document.getElementById("myForm").submit();
                return true;
            }
            return false;

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام