Is there any preferred way to prevent duplicate form submissions using ChronoForms and Authorize Net plugin. I need a reliable way to make sure users for example are NOT able to refresh the browser and send the form again. I experimented with using the redirect action but then I need to create a thank you page which is not desired. But if this the simplest and most effective way to do it then I guess I can live with that. The problem with this though is that any data from the form results is not easily accessible that I'm aware of. I would like the user to be able to print the thank you page with some data from the processed transaction. I would like to know if there is any guide or tips on how to set it up in a better way. Thanks!
The simplest solution is probably to add a Submit Limit action from the Security actions group and set it to say 300 seconds. That should prevent any immediate resubmissions. Add an Event Loop action to the pink On Fail event to re-load the form with a message.
You can show form data in the Thank You page and add a 'print' button (see the FAQS). Note that Display Message action doesn't support PHP - the Custom Code action is very similar and does.
ChronoForms technical support
If you'd like to buy me a coffee or two, thank you very much
And where do I add that submit limit action and the re-load of the form?
The Submit Limit action at the start of the On Submit event.
Add a Display Message action and an Event Loop action in the pink On Fail box of the Submit Limit action.
I did add it there, but nothing happens when I click for the second time on the submit button.
What exactly do you mean by 'nothing happens'? Have you added a message to the Action - does the message show?
That's exactly what I mean.
I added the Submit Limit action and added a Display message action and Event Loop to the pink On fail box but there's no message displayed.
The ordering of both doesn't matter.
Switched both actions but still no success.
But I solved it with this post:
2CheckOut.com Inc. (Ohio, USA) is an authorized retailer for goods and services provided by ChronoEngine.com