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

נסו ותהנו.

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

פיתוח ב-JavaScript

Axios interceptors

תכנון נכון של קריאות AJAX באפליקציה ריאקטית וניהול השגיאות או ההצלחות עם פיצ׳ר נחמד של axios

עבודה בהיי טק

איך מראיינים סניורים?

השיטה שלי לבדיקת התאמה טכנית למתכנתות ולמתכנתים בכירים עם כמה שנות ניסיון.

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