2016-04-24 2 views
2

Der Benutzer hat einige Tabellendaten, in denen er bearbeiten kann. Die Änderung wird durchgeführt und der Benutzer erhält eine Warnung vom Typ "Growl", die die erfolgreiche Aktion anzeigt. Der Benutzer fährt mit einer anderen Bearbeitung fort, ändert dann seine Meinung und klickt auf die Zurück-Schaltfläche. Der Benutzer sieht die Nachricht von der vorherigen Änderung und der Benutzer denkt, dass er versehentlich eine Änderung vorgenommen hat.Was kann ich tun, um zu verhindern, dass eine Growl-Meldung angezeigt wird, wenn der Benutzer auf die Zurück-Schaltfläche klickt?

Der Status (z. B. Erfolg oder Fehlschlag) wird über die URL (zusammen mit den Änderungen) über die URL und die Nachricht an die Aktion übergeben (z. B. Ihre Änderungen wurden gespeichert). Die URL sieht wie folgt aus, wenn dies hilft, machen dies deutlich:

http://www.domain.com/admin/profile/user/?status=success&msg=The%profile%20has%20been%20successfully%20saved 

Wenn der Benutzer einfach die Seite aktualisiert wird, wird die gleiche Knurren Meldung angezeigt.

Die Benutzer finden dies verwirrend, wenn sie eine Bearbeitung abbrechen, sie denken, dass es tatsächlich passiert ist.

Was kann ich tun, um eine bessere UX bereitzustellen, sodass die Growl-Nachricht nur einmal angezeigt wird?

Ich benutze ColdFusion, wenn das hilft.

+0

Stellen Sie eine Flagge in der Sitzung aktualisieren anzeigen und löscht sie nach der Seite angezeigt wird. –

+0

Nur um zu wiederholen, was ich Sie sagen hörte, setzen Sie die Flagge auf der Aktionsseite und löschen Sie sie dann auf der Zielseite (Seite mit den Tabellendaten). Wenn das stimmt, warum übertreibe ich die Dinge !!! :) – HPWD

+1

Genau. Manchmal bist du zu tief in der Arbeit, um den leichteren Weg zu erkennen. Das passiert uns allen. –

Antwort

2

Wenn ein Update ausgelöst werden soll, setzen Sie ein Flag.

<!--- update code ---> 
<cfset session.update = true> 

Dann, wenn Sie die Nachricht, die die Sitzung Flagge

<cfif structKeyExists(session, 'update') AND session.update> 
    <!--- display message ---> 
    <cfset session.update = false> 
</cfif> 
Verwandte Themen