Kategorien
Allgemein

Success Message nach Page Refresh [F5] vermeiden

Nach dem Speichern eines Formulars, wird in APEX üblicherweise eine Erfolgsmeldung angezeigt. Wenn der Benutzer danach die Seite aktualisiert [F5], erscheint diese Meldung erneut.

Wurde der entsprechende Prozess erneut ausgeführt? Denken wir an eine Meldung wie “E-Mail versendet”. Wurde die Mail ein weiteres mal versendet?

Ich war mir jedenfalls anfangs unsicher, bis ich es selbst ausprobiert habe. Ergebnis: Die Submit-Prozesse (Code im Bereich „Processing“) werden nicht nochmals ausgeführt. Das ist gut und richtig so.

Die Erfolgsmeldung wird aber leider trotzdem erneut angezeigt.

Wir kann man dieses Verhalten verhindern?

Die Success-Message wird über den Parameter success_msg in der URL angetriggert (siehe Screenshot). Damit die Nachricht beim Reload nicht mehr erscheint, müssen wir diesen Parameter loswerden. Das können wir mit ein paar Zeilen JavaScript erledigen.

Kategorien
Allgemein

Avoid success message after page refresh [F5]

After storing a form, a success message is displayed usually . That message will be going to be shown again when user reloads the page [F5].

But, has that process been executed again? Let’s think of a message like “Email sent”. Has that mail been sent again?

I was unsure at first until I tried it myself. Result: The submit processes (code in the “Processing” section) are not executed again. That’s fair enough.

Unfortunately, the success message is still displayed again.

How can this behavior be prevented?

The success message is triggered via the parameter success_msg in the URL (see screenshot at the top). To prevent this message from appearing during reload, we have to get rid of this parameter. We can do this with a few lines of JavaScript.