ali salimi
5 سال پیش توسط ali salimi مطرح شد
4 پاسخ

فقط یک کلیک در یک ثانیه

سلام بچه ها من یک فرم دارم که وقتی کلیک میکنی روش. مشکل داره که اگر مثلا دابل کلیک کنی دو بار فرم به دیتابیس میره. میخام محدودیت ایجاد کنم که هر ثانیه فقط یک کلیک اجازه زدن در ثانیه باشه.

آخه فرم من یه محاسباتیم با ریاضی انجام میده که اگه چند بار پشت سر هم کلیک بشه جواب درستی رو ارایه نمیده فقط باید یک بار کلیک بشه و مکث بشه که محاسبات رو برنامه انجام بده و بعد بتونه کلیک بعدیشو انجام بده.
سپاسگذارم اگه راهنمایی بشه
@hesammousavi


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 5 سال پیش مطرح شد
3

شما میتونید مقداری با عنوان loading درست کنید و هر وقت محاسبه شروع شد loading رو برابر با true قرار بدید و اگر روی دکمه کلیک شد شرط بزارید که اگر loading برابر با true بود اجرا نشه دوباره تا زمانی که پردازش قبلی تموم بشه و مقدار loading برابر با false بشه


Ali Mirzabagher
@samb2 5 سال پیش مطرح شد
2

سلام از تابع setTimeout میتونید برای این کار استفاده کنید.
این هم یک مثال ساده:

"
let Time = true;

function clickPerSecond() {
if (Time == true) {
//get text from input
let text = document.getElementById('test').value;
//show text in HTML by innerHTML
document.getElementById('test2').innerHTML = text;
//set Time false
Time = false;
} else {
//Don't Access Message
document.getElementById('test2').innerHTML = "Don't Access";
// setTimeout for set Time true after 1 Second
setTimeout(function () {
Time = true;
}, 1000);
}
}"


ali salimi
@salim 5 سال پیش مطرح شد
1

@samb21272
سپاسگذارم از شما دوست عزیز


ali salimi
@salim 5 سال پیش مطرح شد
1

@hesammousavi
حسام جان عاااااالی بود این حرکت. من اول خواستم کلیک رو ثانیه ای کنم که ممکن بود بعضی وقتا بیشتر از یک ثانیه طول بکشه نتیجه که این باعث مشکل میشد ولی با این حرکتی که گفتین باعث میشه هر وقت نتیجه قبل اوکی شد نتیجه جدید رو اعلام کنه و دیگه بستگی به سرعت سرور و سرعت محاسبه داره و مشکلی هم پیش نمیاد. سپاسگذارم قربان


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

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