راکت
حل شده

تاخیر در Validate.js

6 پاسخ

دوستان سلام،
کسی اطلاع داره چطور میشه تو ولیدیت کردن فرم بوسیله ی validatejs کمی تاخیر ایجاد کرد، منظورم اینه که بعد از کلیک روی سابمیت فرم، بعد از یک ثانیه اجر بشه؟

ثبت پرسش جدید

پاسخ‌ها

6
حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

بهترین پاسخ
$("#form1").validate({
    rules:{

    },
    messages:{

    },
    submitHandler: function () {
        setTimeout(function(){
            $("#form1").submit();
        }, 1000);
    }
}

@nimageneral

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

این کتابخونه یه تابع validate داره که صدا زده میشه

شما اونت onclick رو روی سابمیت باتن میگیری
و یه تابع دیگه استفاده میکنی
و Event رو بهش پاس میدی:

onclick="my_func(e)"

حالا داخل این تابع
با ۱ ثانیه تاخیر بصورت دستی تابع validate رو صدا میزنی:

function my_func(e) {
    e.preventDefault();
    setTimeout(function() { validate(); }, 1000);
}
نیما  ش
نیما ش
@nimageneral

تخصص: برنامه نویس وب

ممنونم جناب بیات،
این مورد را امتحان کردم، ولی متاسفانه کار نمیکند ، اینجور که پیداست اونتش روی onload تعریف شده و روی اونت کلیک عمل نمیکند

شاید پاسخ شما همین‌جا باشد

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

شما باید اونتش که روی onload تعریف شده، رو تغییر بدید و درش از setTimeout استفاده کنید

نیما  ش
نیما ش
@nimageneral

تخصص: برنامه نویس وب

ممنونم جناب بیات و شیری نژاد عزیز،

من طبق کد شما انجام دادم حسین جان و تنها تفاوتی که داشت تابع submitHandler یک آرگومان ورودی میگیره که همون فرم هست و ما میتونیم توی setTimeout همون آرگومان را submit کنیم، بصورت زیر

submitHandler: function (form) {
        setTimeout(function(){
            form.submit();
        }, 1000);
    }

بازم ممنونم از شما

حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

بله درسته ارگون داره و من حذفش کرده بودم و داشته باشه بهتره.
سپاس .@nimageneral

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

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