מניעת 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();"

נסו ותהנו.

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

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

גישת Least Privilege

גישה לכתיבת קוד מאובטח שכדאי מאד להכיר – במיוחד בעידן הבינה המלאכותית

יסודות בתכנות

מבוא לאבטחת מידע: גוגל דורקינג

מאמר מבוא המספר בקצרה ובלשון קלה על גוגל דורקינג – טכניקה לביצוע האקינג גם ללא ידע טכני כלל.

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