Receiving multiple emails with the same content from the same sender in a short period of time — I often receive support requests like this.
Although some suppose these are caused by a bug or made by spam bots, in most cases they are created by real humans. It is real well meaning people who are making multiple submissions through contact forms on their sites.
They ask me if they can make Contact Form 7 prevent such multiple submissions. Actually this is not difficult at all. You have some options to do so, such as disabling the Submit button after the first submission.
You might think that such functions should be activated by default if it is not difficult. In reality such functions are intentionally not implemented in this plugin — because it obviously leads to a terrible outcome.
Address the root problem.
What would make people attempt to submit multiple times? One submission is enough. Ordinary people should think so.
Let’s think about the reason from their stand-point.
People may make multiple submissions when they are uncertain if their submission has worked successfully.
For example if you get no response or reaction after clicking the submit button you may think the submission has failed, and may want to click it once more.
Let’s think about how we can eliminate the root cause instead of trying to hide surface-level issues.
If people are feeling uncertain because they see no response or reaction the root problems behind that could be:
- the Loader icon indicating progression doesn’t appear.
- the CSS stylesheet applied to the page makes the response invisible.
- the backend process takes an abnormally long time.
- etc.
If you recognize the root problem and resolve it then surface-level issues like multiple submissions will be automatically resolved.
What would happen if, however, you left the root problem and simply disabled the submit button? Users would still feel uncertain. And they would be more confused than before because now they couldn’t even click on the button.
Phenomena like multiple submissions are like taking a canary into a coal mine: they inform you that there are more severe, more fundamental problems hiding.
So don’t try to hide issues. Address the root problem behind them.