מניעת Double Submit – שליחת טופס פעמיים

פתרון לבעיית לחיצה כפולה של משתמשים על כפתור Submit בטפסים באתר אינטרנט.

אחת הבעיות המציקות שיש בטפסים שהם לא AJAX היא תופעה של משתמשים פזיזים שלוחצים פעמיים Submit בטופס כלשהו. במיוחד כאשר יש עומס על השרת או סיבות אחרות שגורמות לטופס לבצע Submit איטי. בנוסף יש משתמשים שמתבלבלים ולוחצים Double Click באופן בלתי מודע כי כך הם רגילים מחלונות.

ישנם שני פתרונות פשוטים לעניין. הראשון באמצעות jQuery והשני באמצעות הוספת onclick לכפתור ה-submit עצמו. הפתרון מבוסס על כך שלחיצה הופכת את הכפתור ל-disabled ומשגרת את הטופס ובכך מונעת לחיצה כפולה.

פתרון שמבוסס על jQuery:

לא לשכוח לשים קישור לסקריפט של jQuery!


$(document).ready(function() {
	$('input[type=submit]').click(function(){
		 this.form.submit();
		 $(this).attr("disabled","disabled");
	});
});

פתרון שמבוסס על הוספת onclick לכפתור ה-Submit עצמו:


onclick="this.disabled=true;this.form.submit();"

נסו ותהנו.

פוסטים נוספים שכדאי לקרוא

פתרונות ומאמרים על פיתוח אינטרנט

המנעו מהעלאת source control לשרת פומבי

לא תאמינו כמה אתרים מעלים את ה-source control שלהם לשרת. ככה תמצאו אותם וגם הסבר למה זה רעיון רע.

תמונה מצוירת של רובוט שמנקה HTML
יסודות בתכנות

סניטציה – למה זה חשוב

הסבר על טכניקה פשוטה וידועה מאד שאנו מפעילים על מידע לפני שאנחנו מציגים אותו ב-HTML באפליקציה או באתר.

גלילה לראש העמוד