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

נסו ותהנו.

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

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

Retry decorator בפייתון

לא מזמן יצא לי לכתוב קוד בפייתון. הקוד משתמש ב-API של openAI ולפעמים ה-API הזה קצת מפשל. הוא מחזיר לי שגיאה ואומר שהגזמתי עם הקריאות,

בניית אתרי אינטרנט

לאחסן שרת בבית? זה לגמרי אפשרי

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

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