PDA

View Full Version : جلوگیری از اجرای یک اکشن با کادر پیغام confirm جی کوئری



پروگرامنویس
دوشنبه 24 اردیبهشت 1397, 13:51 عصر
درود
من یک دکمه حذف دارم که بعد از کلیک به یک اکشن میره،حالا میخوام وقتی کاربر رو این دکمه کلیک میکنه نخست یک پیغام confirm جی کوئری نمایش داده شه ،اگه کاربرگزینه تایید رو زد وارد اکشن شه اما اگه دکمه خیر رو زد عملیات متوقف شه.
الان نمی دونم توی شرط نتیجه پیغام وقتی کاربر خیر رو انتخاب میکنه برای متوف کردن اکشن چه کدی رو باید بزنم؟
سپاس


$('.DeleteSubMenu').click(function () {
var i = confirm('هشدار! با پاک کردن این زیرشاخه همه پست ها و دیدگاه های مربوطه پاک خواهد شد');
if (i==false) {
// برای جلوگیری از اجرای اکشن باید چیکار کنم؟
}
});

hakim22
دوشنبه 24 اردیبهشت 1397, 20:11 عصر
می توانید عبارت "return" رو قرار بدید به این معنی که از تابع خارج بشه و در واقع کدی رو اجرا نمیکنه.
به نظر من شما فقط نیاز به پیاده سازی حالت "true" دارید. مگر اینکه میخواهید فرآیند خواصی در حالت false انجام بشه.

پروگرامنویس
جمعه 28 اردیبهشت 1397, 15:45 عصر
سپاس اما مشکلم حل نشد
ببینید من یه اکشن لینک نوشتم به این صورت

<a href="@Url.Action("DeleteMenu","admin", new {delid=item.ID })" data-ajax="true" class="DeleteSubMenu"><i class="fa fa-remove"></i></a>

حالا تو جی کوئری با استفاده از نام کلاس و رویداد کلیک این اکشن لینک میخوام بگم اگه کاربر روی گزینه کنسل کلیک کنه دیگه اکشن DeleteMenu اجرا نشه، اما الان چه ok و چه رو بزنم درهر صورت اکشن مربوطه اجرا میشه!
اینم کد جی کوئری:


// پیام هشدا حذف فهرست
$('.DeleteSubMenu').click(function () {
var i = confirm('هشدار! با پاک کردن این زیرشاخه همه پست ها و دیدگاه های مربوطه پاک خواهد شد');
if (i==false) {
// برای جلوگیری از اجرای اکشن باید چیکار کنم؟
return;
}
});

ghossein
چهارشنبه 02 خرداد 1397, 13:07 عصر
سلام
یه onclick جاوااسکریپت به تگ a اضافه کنید و مقدارش رو به اینصورت تغییر بدهید :

<a onclick='retrun onDelete();'>delete</a>

تابع onDelete :
function onDelete() {
if (confirm('آیا شما مطمئن هستید؟'))
{
return true;
}
else {
return false;
}
}