PDA

View Full Version : جلوگیری از دو بار زدن کلید ارسال فرم



lz20cracker
یک شنبه 01 شهریور 1394, 18:38 عصر
با سلام
من یه فرم دارم تو پروژه که به صورت Ajax نوشتم ، حالا میخوام زمانی که دکمه رو میزنم تا زمانی که کاربر جواب میاد نتونه دکمه ارسال رو دوباره بزنه؟

HOSSEINONLINE7
یک شنبه 01 شهریور 1394, 19:10 عصر
سلام خوب با جیکوئری بعد از کلیک کردن روی دکمه غیر فعالش کنید دیگه کاربر نمیتونه دوباره بزنه .

omid nasri
چهارشنبه 04 شهریور 1394, 22:52 عصر
به دو روش اشاره میکنم:
اگر از فرم Ajax.BeginForm استفاده می کنید می بایست کدهای جاواسکریپت موجود در فایل jquery.unobtrusive-ajax.min.js در تابع error or success رو ویرایش کنید در غیر اینصورت با توجه به پست دوست عزیز حسین انلاین7 انجام گردد.

HOSSEINONLINE7
پنج شنبه 05 شهریور 1394, 12:28 عصر
به دو روش اشاره میکنم:
اگر از فرم Ajax.BeginForm استفاده می کنید می بایست کدهای جاواسکریپت موجود در فایل jquery.unobtrusive-ajax.min.js در تابع error or success رو ویرایش کنید در غیر اینصورت با توجه به پست دوست عزیز حسین انلاین7 انجام گردد.

روشی هم که شما فرمودید درسته ولی به نظرم راه بسیار ساده تری بجای دستکاری اون لایبری هست به این شکل :

@Ajax.BeginForm("","",new AjaxOptions{OnBegin = "DisableButton()"})
{
}

بعد از کلیک روی کلید و قبل از ارسال فرم تابع DisableButton اجرا میشه و توی اون هم میشه با Jquery کلید را Disable کرد.

omid nasri
جمعه 06 شهریور 1394, 09:55 صبح
روشی هم که شما فرمودید درسته ولی به نظرم راه بسیار ساده تری بجای دستکاری اون لایبری هست به این شکل :

@Ajax.BeginForm("","",new AjaxOptions{OnBegin = "DisableButton()"})
{
}

بعد از کلیک روی کلید و قبل از ارسال فرم تابع DisableButton اجرا میشه و توی اون هم میشه با Jquery کلید را Disable کرد.

با تشکر از شما دوست عزیز، پارامترهای AjaxOptions رو می توان از لینک زیر مشاهده نماید:
لینک (https://msdn.microsoft.com/en-us/library/system.web.mvc.ajax.ajaxoptions%28v=vs.118%29.aspx )