جستجو در بخش : سوال جواب منابع اسلامی لغت نامه ها قوانین و مصوبات نقل قل ها
×

فرم ورود

ورود با گوگل ورود با گوگل ورود با تلگرام ورود با تلگرام
رمز عبور را فراموش کرده ام عضو نیستم، می خواهم عضو شوم
×

×

آدرس بخش انتخاب شده


جهت کپی کردن میتوانید از دکمه های Ctrl + C استفاده کنید
رویداد ها - امتیازات
در حال بارگذاری
×

رویداد ها - امتیازات

برای بررسی عملکرد فعالیت و امتیازات خود باید در وب سایت وارد باشید. در صورت عضویت از بخش بالای صفحه وارد شوید، در غیر این صورت از دکمه پایین، مستقیم به صفحه ثبت نام وارد شوید.

×
×
کد تخفیف اسنپ تاکسی با 20% تخفیف! دریافت کد
×

دلیل درخواست بستن پست

کلیه پست هایی که جنبه تبلیغاتی داشته، محتوای اسپم و بی مفهوم در این دسته قرار میگیرند. همچنین پست هایی که به منظور گرفتن بک لینک درج می شوند شامل این مورد هستند.
حاوی مفاهیم غیر اخلاقی، سیاسی و یا توهین آمیز. کلیه پست هایی که از نظر محتوایی نیاز به بررسی و یا حذف شدن دارند در این دسته قرار می گیرند.
محتوایی با عدم جزئیات کافی و مورد نیاز. کلیه پست هایی که منظور نویسنده به وضوح مشخص نیست و نیازمند توضیحات و جزئیات بیشتر می باشند در این دسته قرار می گیرند.
محتوایی بی ربط با موضوعیت سرفصل کلی. کلیه پست هایی که از منظر مفهوم و مضمون ارتباطی با عنوان اصلی سوال ندارند در این دسته قرار می گیرند.
محتوایی دلخواه و بر پایه سلیقه. کلیه پست هایی که یک پاسخ مشخص ندارند و متوانند چندین پاسخ متفاوت و صحیح داشته باشند که کاملا مبتنی بر نظر شخصی افراد هستند در این دسته قرار می گیرند.
محتوایی در حوزه خیلی وسیع. کلیه پست هایی که از نظر محتوایی در یک حوزه ی وسیعی قرار دارند و مشخصا به یک موضوع خاصی اشاره ندارند که پاسخدهی به آن ها مستلزم تشریح مفاهیمی کلی می باشند در این دسته قرار می گیرند.
قبلا در لام تا کام مطرح شده. پست هایی که دقیقا با همین محتوا و مضمون قبلا در وب سایت لام تا کام درج شده اند، با ذکر آدرس منبع تکراری با پست حال حاضر شامل این دسته هستند. تکراری است با:
به سایر دلایل، نیازمند به بررسی توسط مدیر. به هر دلیل غیری که پست را نیازمند بررسی توسط مدیر کرده، با ذکر دلیل، در این دسته قرار میگیرد.
ارسال رای بستن

نمایش پیام «آیا مطمین هستید» قبل از سابمیت submit فرم در جی کوئری jquery چگونه است؟


3
0
1779

سلام دوستان من یه فرمی دارم که میخوام با جی کوئری ارسالش کنم زمانی که کاربر روی باتن فرم کلیک میکنه یه sweet alert نمایش داده میشه, که دوتا باتن داره (تایید و انصراف) در صورتی که روی تایید کلیک کنه فرم ارسال میشه و انصراف هم که تنها اون الرت بسته میشه و کار دیگه ای قرار نیست انجام بده اما مشکل اینجاست که اگه من روی انصراف یا هرجا دیگه از صفحه هم کلیک کنم باز هم فرم ارسال میشه این کدشه ممنون میشم بررسی کنید

jQuery(document).ready(function(){
    jQuery('#verifyDoc').on('click', function(event){
       event.preventDefault();
      swal({
        title: "",
        text: "آیا مطمئن هستید که می‌خواهید این کار را انجام دهید؟",
        type: "info",
        showCancelButton: true,
            buttonsStyling: true,
        confirmButtonText: "تایید",
        cancelButtonText: "انصراف",
      }).then(function(isConfirm){
            if(isConfirm){
                               jQuery("#verifyDocForm").submit();  
            }
      });
    });
});

و کد html

<form action="{{route('admin.auth.document.update' , [$document->id])}}" id="verifyDocForm" method="post">
    {{ csrf_field() }} {{method_field('PATCH')}}
    <input type="hidden" name="actionCode" value="1">
    <button type="submit" class="btn btn-success">تایید مدارک</button>
</form>
تکنولوژی برنامه-نویسی جاوا-اسکریپت جی-کوئری
ویرایش شده در 6 سال قبل مجتبی دلشاد
11.1k امتیاز
سوال شده در مجتبی دلشاد
275 امتیاز

3
فكر ميكنم اگه توي else همون شرطي كه داري يك return false بزاري مشكلت حل ميشه و در صورت كنسل كردن، فرايند پروسه متوقف ميشه و ديگه فرم سابميت نميشه ــ سروش قادری نسب در 6 سال قبل

500 کاراکتر باقی مانده

2 جواب

5

از نظر من بهتره که الگوریتم برنامه رو تغییر بدی. تو الان داری این کار رو میکنی:

وقتی روی دکمه #verifyDoc کلیک شد، یه پاپ آپ نمایش بده واسه مطمین شدن و اگه اوکی بود، فرم #verifyDocForm رو سابمیت کن.

که میتونه این فرایند بهتر اتفاق بیوفته اگه الگوریتم برنامه به این شکل اتفاق بیوفته:

وقتی عملیات سابمیت فرم #verifyDocForm میخواست انجام بشه، بیا یک پاپ آپ قبلش نشون بده واسه مطمین شدن، بعد اگه طرف مطمین بود، خب به ادامه عملیات سابمیت شدن فرم ادامه بده، در غیر این صورت، عملیات رو متوقف کن.

که به زبان کد اینطوری میشه:

  • روش اول (ساده) با استفاده از تابع confirm():


jQuery(document).ready(function(){
    jQuery("#verifyDocForm").on('submit', function(){
        return confirm("آیا مطمئن هستید که می‌خواهید این کار را انجام دهید؟");
    });
});

  • روش دوم (همون روش خودت) با استفاده از تابع کتابخونه sweet alert:


jQuery(document).ready(function(){
    jQuery('#verifyDoc').on('click', function(event){
       event.preventDefault();
      swal({
        title: "",
        text: "آیا مطمئن هستید که می‌خواهید این کار را انجام دهید؟",
        type: "info",
        showCancelButton: true,
            buttonsStyling: true,
        confirmButtonText: "تایید",
        cancelButtonText: "انصراف",
      }).then(function(isConfirm){
            if(isConfirm){
               jQuery("#verifyDocForm").submit();  
            } else {
               swal("کنسل شد", "فرایند متوقف شد.", "error");
            }
      });
    });
});

نمونه عملی


نکات مورد نیاز:

  1. توی روش اولی که نوشتم، return confirm(); یک بولین boolean برمیگردونه (که نتیجه همون پاپ آپ هست) ، true بود، به کارت ادامه بده و فرم رو سابمیت کن، اگه false بود، خب ادامه فرایند سابمیت شدن رو متوقف کن.

  2. دکمه ای که این فرم رو سابمیت می کنه باید نوعش سابمیت باشه: type="submit". (دارم در مورد HTML صحبت میکنم)
ویرایش شده در 6 سال قبل
جواب داده شده در سجاد شفی زاده <m>★</m>
11.1k امتیاز


ممنونم بنظرم روش شما خیلی بهتره, این کد رو تست کردم اما زمانی که روی باتن کلیک میشه, الرت هم نمایش داده میشه اما منتظر این نمیمونه که کاربر تایید یا انصراف رو بزنه و فرم رو سابمیت میکنه...ممکنه کد html فرم رو هم پست کنید فکر میکنم در فرم یه اشتباهی دارم ــ مجتبی دلشاد در 6 سال قبل
1
اوه، اشتباها توی کد event.preventDefault(); حذف شده. الان ویرایش میکنم. دوباره تست کن @Mojtaba.Delshad ــ سجاد شفی زاده در 6 سال قبل

@سجاد.شفی.زاده.★ ممنون... حالا یه مشکل جدید وجود داره, کلا سابمیت نمیشه (کد html هم ویرایش کردم) ــ مجتبی دلشاد در 6 سال قبل

@سجاد.شفی.زاده.★ و بعد از کلیک روی باتن , اون باتن disable میشه ــ مجتبی دلشاد در 6 سال قبل
3
خب ببین از یک روش دیگه ای برات نوشتم که توش برای اون پاپ از تابع confirm() استفاده شده. امتحانش کن @Mojtaba.Delshad ــ سجاد شفی زاده در 6 سال قبل
2
@Mojtaba.Delshad هر دو روش اضافه شدند. به همراه نمونه عملی (دمو) ــ سجاد شفی زاده در 6 سال قبل
1
@سجاد.شفی.زاده.★ ممنونم ازتون...طبق نمونه کدها و نمونه عملی که قرار داید کدمو ویرایش کردم اما دوباره اون مشکل وجود داشت...حدس زدم شاید مشکل از کتابخونه ای باشه که استفاده کردم که حدسم درست بود و با تغیرش همه چی اوکی شد ? ــ مجتبی دلشاد در 6 سال قبل

500 کاراکتر باقی مانده


-1

این کد رو امتحان کن:

jQuery(document).ready(function(){
    jQuery('#verifyDoc').on('click', function(event){
      swal({
        title: "",
        text: "آیا مطمئن هستید که می‌خواهید این کار را انجام دهید؟",
        type: "info",
        showCancelButton: true,
            buttonsStyling: true,
        confirmButtonText: "تایید",
        cancelButtonText: "انصراف",
      }).then(function(isConfirm){
            if(!isConfirm){
               return false;
            }
      });
    });
});

توی جاوا اسکریپت، وقتی میخوای یک فرایندی رو متوقف کنی، یکی از راه کارهاش اینه که از return false; استفاده کنی. این نکته رو هم بگم که اگه event.preventDefault(); رو حذف کنی، فرایند سابمیت submit به صورت پیش فرض اتفاق میوفته و احتیاجی نیست خودت دستی فرم رو .submit(); کنی.

جواب داده شده در سعید مرادی
1933 امتیاز


این کدی شما دادی رو تست کردم, دیگه کلا سابمیت نمیشه..احساس میکنم کد html رو اشتباه نوشتم سوال رو ویرایش میکنم ممنون میشم دوباره چک کنید ــ مجتبی دلشاد در 6 سال قبل
3
-1 ! اگه دقت کرده باشید، رویدادی که این عملیات روش ست شده onclick یک دکمه هست. نه submit فرم. پس در هر صورتی .submit(); نیازه که فرایند سابمیت اتفاق بیوفته. ــ سجاد شفی زاده در 6 سال قبل

500 کاراکتر باقی مانده


جواب شما
     
.....
×

×

جعبه لام تا کام


وب سایت لام تا کام جهت نمایش استاندارد و کاربردی در تمامی نمایشگر ها بهینه شده است.

تبلیغات توضیحی


عرشیان از کجا شروع کنم ؟
تغییر و تحول با استاد سید محمد عرشیانفر

تبلیغات تصویری


کپی