جلوگیری از double click در asp.net

تو asp.net نمیتونید از این مطمین باشید که

فقط یک بار اجرا میشه. اگه روی دکمه دابل کلیک کنید دوبار اجرا میشه تابع مربوطه. برای جلوگیری از این اتفاق سراست ترین راه استفاده از اسکریپت سمت کلاینته.

ساده ترین راه اینه که با جاوا اسکریپت وقتی که روی دکمه کلیک شد اون رو غیر فعال کنید:



ولی این روش یه مشکلی داره، اگه شما یک فرمی داشته باشید که نیاز به اعتبار سنجی داشته باشه بار اول اگه فرم اشکال داشته باشه و نیاز باشه کابر فرم تصحیح کنه دکمه شما دیگه کار نمیکنه.

برای حل این مشکل میشه یک کلک ساده زد. میشه یک متغییر تعریف کرد و مقدارش رو ۱ گذاشت، هربار که دکمه کلیک میشه یکی به مقدارش اضافه کرد و با یک شرط ساده اگه مقدارش بزرگتر از ۱ بود تابع false رو برگردونه.



تابع PreventDblClick به این صورته:

var dbl=0;
function codeventDblClick(){
if(dbl<1){ return true; dbl+=1; }else{ return false; } }

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.