#994 closed Bug/Fehler (fixed)
Doppelte Aufträge
| Reported by: | INETvisio | Owned by: | somebody |
|---|---|---|---|
| Priority: | normal | Milestone: | modified-shop-2.0.2.0 |
| Component: | Shop | Version: | trunk |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: |
Description
Hallo,
es gibt ein Problem, dass ein Auftrag zwei mal in der gleiche Zeit angelegt wird.
Folgende Schritte habe ich gemacht:
- Artikel finden
- Artikel in den Warenkorb legen
- Warenkorb anklicken
- Zur Kasse gehen
- Schritte 2/3 ..
- Schritt Bestätigung:
-- Auf Kaufen Button zweifach oder dreifach schnell klicken --
- Admin > Bestellungen anschauen: Bestellung ist mehrmals eingegangen.
Siehe mein Anhang.
Gruß
Jürgen H.
Attachments (1)
Change History (13)
by , 9 years ago
| Attachment: | t994_doppelte_Auftraege.JPG added |
|---|
comment:1 by , 9 years ago
Diese Doppelklicks und Mehrfachklicks sind auch im Adminbereich problematisch, wenn man beispielsweise ein Modul installiert.
comment:3 by , 9 years ago
Erinnert mich an Taster entprellen aus der Elektronik.
Bei Klick deaktivieren ist keine schlechte Idee.
comment:4 by , 9 years ago
Gute Idee :)
Hatten selbst schon das ein oder andere Mal das Problem das Bestellungen doppelt drin waren.
follow-up: 7 comment:5 by , 9 years ago
Gibt es im Forum schon einen älteren Thread zu.
$('form').one('submit', function() {
$(this).find('input[type="submit"]').attr('disabled','disabled');
});
comment:7 by , 9 years ago
Wie wäre es das Fomular komplett zu ersetzen und stattdessen die Eieruhr anzuzeigen?
etwa so:
$('#checkout_confirmation').on('submit', function() {
$('#checkout_confirmation').html('<img src="images/loading.gif">');
});
comment:8 by , 9 years ago
Dafür hatte ich schon für xtc vor vielen Jahren eine JavaScript Funktion erstellt und dort ins Forum gestellt. Das ist halt eine schnelle und einfache Lösung. Leider hat sich nach vielen Jahren gezeigt, dass die Sache nicht immer 100%ig funktioniert. Manchmal wird das JavaScript ausgeführt, die Bestellung aber trotzdem nicht abgeschickt. Das ist zwar selten aber der Kunde kann dann nicht einfach nochmal klicken wenn er merkt, das nichts passiert und denkt, die Bestellung ist wahrscheinlich raus, da ja die Sanduhr läuft.
Besser wäre es also, wenn per PHP nach Bestellung überprüft wird, ob der selbe Kunde nicht innerhalb der letzten Sekunden bereits bestellt hat und in dem Fall die Bestellung einfach nicht verarbeitet wird.
Wenn man das als Funktion realisieren und auch im Backend einsetzen will, könnte man eine Funktion erstellen die nach jedem Klick in die Session die aufgerufene URL inkl. der Parameter speichert und einfach überprüft, ob diese beim nächsten Klick gleich sind und wie lange der letzte Klick her ist. Sind URL und Parameter gleich und weniger als drei Sekunden vergangen wird der Klick nicht weiter verarbeitet.
Man sollte aber direkt einen Parameter einbauen, der den Doppelklick explizit erlaubt. Wenn z.B. jemand zweimal einen Artikel in den Warenkorb legt soll das auch direkt kurz nacheinander möglich sein.
comment:10 by , 9 years ago
| Milestone: | modified-shop-2.0.1.0 → modified-shop-2.0.1.1 |
|---|

Zwei mal getestet