What is JotForm?
JotForm is a free online form builder which helps you create online forms without writing a single line of code. No sign-up required.
At JotForm, we want to make sure that you’re getting the online form builder help that you need. Our friendly customer support team is available 24/7.
We believe that if one user has a question, there could be more users who may have the same question. This is why many of our support forum threads are public and available to be searched and viewed. If you’d like help immediately, feel free to search for a similar question, or submit your question or concern.
Multiple submissions on a payment formAsked by GFcheese on December 01, 2015 at 10:12 AM
I know you have loose and strict checks for the prevention of multiple submissions, but I have a unique situation in which I'm not sure there is an answer.
I have an order form running right now. We sometimes receive a duplicate order a couple of minutes apart. I'm guessing it's possible that they are waiting for the thank you message to pop up and it gets delayed or doesn't quite make it to the end, and they are pushing submit again. Is there anything to stop another order from coming through just based on recent submissions? I don't want to use the loose or strict checks because they may order multiple items for different people just minutes apart. It seems I need to notify them with and error message that they are submitting duplicate data or something like that.
Any suggestions would be appreciated. Thanks!
This seems like an interesting case :)
Now, I have 2 ideas already, but I would like to check the form form that you plan to have this on first to see how we could implement both and would help you then with the same.
This is the formhttps://form.jotform.com/52995683189981
Now looking at the form I see that there are many details that we can use to check if the submission is the same or not.
The way I would do it is to add one more Form Calculation widget and call it Unique (Unique-field in my example).
In it, you should add the "Total" Form calculation so that we get the total.
Next to it, you should also add something specific to the submission, such as date and time of the form load and the email of the user.
So our Unique field widget looks like this:
This will then give us a string like so:
This would make it very hard for them to open the form within the same minute and fill out with exact same details and then submit to you - while if they refresh the same details will be used and as such would be blocked.
If you want to allow them to open the same form multiple times in the same minute, and then fill them out one at a time and submit (using same email and same total), all that you should do is add random() function in the Unique field widget.
Doing that will mean that only the exact submission can not be re-submitted once again, but any new submissions will be accepted.
This is how it would look with random:
- I got the random by clicking on the 3 dots on the right.
Once we do this, we need to set up the condition to move the data from Form Calculation to the Text Box (so we add text box). I named it "unique-field2" and passed the data from the above calculation to it:
Now all that we are left to do is to make the form limit using unique question.
You can see about that here: How to set Form Limits Based on a Unique Question
This is how it looks on my end:
Close Settings and Save and preview :)
You can see how it would look here: https://form.jotform.com/53345518061957
PS: I did not hide any fields so that you can see them, but of course, you can (and should) hide them.
When you submit the message, do try to refresh the form again to see what happens.
- Since there is payment involved, please first clone the form to your account, which you can do by following the steps here: How to Clone an Existing Form from a URL
Do let us know how it goes.
Thanks. I will be testing your suggestions to see if it is what works for our needs. I appreciate the quick reply!
You are welcome.
Please do let us know how your tests go and if you have any additional questions and we would be happy to assist :)