PDA

View Full Version : غیر فعال کردن دکمه submit



na3er-faraji
پنج شنبه 08 تیر 1391, 15:20 عصر
کنترل های validate چه طوری دکمه submit رو غیر فعال می کنند. من میخام دقیقا همین کار رو با jquery انجام بدم. چون تعدادی از کنترل ها رو با validation خود asp.net اعتبار سنجی میکنم و تعدادی رو با jquery.
اما مشکلم اینه که در صورتی که همه validation هام درست باشه چون اون jquery رو دستی انجام دادم صفحه transfer میشه.

aminghaderi
پنج شنبه 08 تیر 1391, 16:23 عصر
برای غیر فعال کردن المنت های html راه هایی وجود دارد ، که 2 راه رو خدمتون می گم:
1- قرار دادن یه div بروی المنت با opacity کم تا حالتی شبیه به enable = false المنت های دات نت در بیاد.
2- استفاده از پروپرتی display در css که می تونید هم المنت رو مخفی کنید و هم div مربوطه (با جی کوئری خیلی مچ هم هست).


اما مشکلم اینه که در صورتی که همه validation هام درست باشه چون اون jquery رو دستی انجام دادم صفحه transfer میشه. برای این مورد احتمالا راهی وجود داشته باشه ، البیته خود جی کوئری هم اعتبار سنجی داره و هم کلی پلاگن در این رابطه وجود داره ، می تونید با چند ساعت جستجو موراد خوبی بدست بیارید ولی ظاهرا باید برای کار با ajax و متد json در jquery و asp .net اشنا باشید .

na3er-faraji
پنج شنبه 08 تیر 1391, 16:46 عصر
ممنون دوست عزیز.
اعتبار سنجی من به شکلیه که نمیتونم از چیزهای آماده استفاده کنم. چند تا چک باکس هست که اگه تیک خورده بود باید چک کنم تکست های متناظرش جمعش 100 بشه. اینو فک نکنم بشه با هیج validation انجام داد. در ضمن من نمیخام دکمه رو پنهان کنم. میخام مثل validation خود asp.net دکمه باشه اما هیچ کاری انجام نده.

aminghaderi
پنج شنبه 08 تیر 1391, 17:02 عصر
میخام مثل validation خود asp.net دکمه باشه اما هیچ کاری انجام نده. یکی از راه های ساده رو بهتون گفتم که یه تابع جاوااسکریپتی هست که باید طراحی کنید (شاید هم کدش در اینترنت باشه).
من با همین روش (روش یک بالا) در پروژه ای عمل enable = false رو شبیه سازی کردم.(کاری هم نداشت).


تکست های متناظرش جمعش 100 بشه. اینو فک نکنم بشه با هیج validation انجام داد
این ها دیگه جز موارد اعتبار سنجی شخصی می شه ، که خودتون باید براش تابعی بنویستید.
شاید همه بشه با عبارات منطقی (Logical expressions) این رو برای ابزار اعتبار سنجی دات نت پیاده سازی کرد ؟! ولی شخصا ترجیه می دم خودم بنویسم ، چون حوصله در گیری با عبارات منطقی رو ندارم.

na3er-faraji
پنج شنبه 08 تیر 1391, 17:09 عصر
تا جایی که سرچ زدم باید submit فرو رو از کار بندازم. اما هر کاری کردم نشد متاسفانه.

aminghaderi
پنج شنبه 08 تیر 1391, 17:18 عصر
این هم درسته ولی مثل المنت دات نت غیر فعال نمی شه؟؟ فقط کلیک می کنید عکس العملی رخ نمی دهد.
اگر به جای submit از button استفاده کنید ، می شه زمانی که شما کلیک می کنید، تابع postback رو فراخونی کنید و در اون تابع اول شروط مد نظر رو بگذارید و بعد اگر همه چیز ok بود ، بعد صفحه رو به سرور ارسال کنید.
یه سرچ درباره مفهوم postback در جاوا اسکریپت بزنید به نتایج خوبی می رسید.

موفق باشی.

na3er-faraji
پنج شنبه 08 تیر 1391, 17:28 عصر
ممنون بابت راهنمایی. به نظرتون اگه یه دکمه ساده بزارم این کد رو چه جوری میتونم با jquery پیاده کنم؟

MultiView1.ActiveViewIndex = 3;

na3er-faraji
پنج شنبه 08 تیر 1391, 17:32 عصر
بلاخره درستش کردم. submit رو به شکل زیر میشه غیرفعال کرد و تیازی هم به استفاده از دکمه معمولی نیس.
$("#Button1").click(function(evt) {
// This stops the form submission.
evt.preventDefault();
});