Modify

Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#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:

  1. Artikel finden
  2. Artikel in den Warenkorb legen
  3. Warenkorb anklicken
  4. Zur Kasse gehen
  5. Schritte 2/3 ..
  6. Schritt Bestätigung:

-- Auf Kaufen Button zweifach oder dreifach schnell klicken --

  1. Admin > Bestellungen anschauen: Bestellung ist mehrmals eingegangen.

Siehe mein Anhang.

Gruß
Jürgen H.

Attachments (1)

t994_doppelte_Auftraege.JPG (113.6 KB ) - added by INETvisio 9 years ago.
Zwei mal getestet

Download all attachments as: .zip

Change History (13)

by INETvisio, 9 years ago

Attachment: t994_doppelte_Auftraege.JPG added

Zwei mal getestet

comment:1 by Torsten Riemer, 9 years ago

Diese Doppelklicks und Mehrfachklicks sind auch im Adminbereich problematisch, wenn man beispielsweise ein Modul installiert.

comment:2 by Volker Strähle, 9 years ago

Könnte man den Kaufen-Button nicht nach dem ersten Klick deaktivieren?

comment:3 by Ronald Parcinski, 9 years ago

Erinnert mich an Taster entprellen aus der Elektronik.

Bei Klick deaktivieren ist keine schlechte Idee.

comment:4 by Angeal, 9 years ago

Gute Idee :)
Hatten selbst schon das ein oder andere Mal das Problem das Bestellungen doppelt drin waren.

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:6 by anonymous, 9 years ago

Last edited 9 years ago by Torsten Riemer (previous) (diff)

in reply to:  5 comment:7 by Volker Strähle, 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 p3e, 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:9 by h-h-h, 9 years ago

+1

comment:10 by Torsten Riemer, 9 years ago

Milestone: modified-shop-2.0.1.0modified-shop-2.0.1.1

comment:11 by Gerhard Waldemair, 9 years ago

Resolution: fixed
Status: newclosed

In 10581:

fix #994 - prevent double click

comment:12 by Gerhard Waldemair, 9 years ago

In 10582:

fix #994 - prevent double click

Modify Ticket

Action
as closed The owner will remain somebody.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.