Gravity Forms and duplicate entries

Some customers have found that their forms get duplicate entries sometimes. I’ve managed to track down circumstances that can reliably reproduce this problem.

Duplicate entries are bad enough, but when you have credit card payments attached to that, you can get duplicate charges too. Not happy!

Apparently there’s a long-standing bug in Webkit / Blink based browsers when a form submits from an iframe and the page is redirected to another page. If the customer then clicks the back button to return to the form, the browser silently submits the form again.

With Gravity Forms (up to v2.1.1.23 at least) you get that situation with the following circumstances:

  • the form uses AJAX for submitting the form (ajax="true")
  • the form redirects to another page on completion (confirmation is Page or Redirect)
  • the browser is Chrome, Safari, Mobile Safari, or similar browser based on Webkit or Blink

The simplest fix is to change how the form submits, from ajax="true" to ajax="false"

I’ve reported the problem to the Rocket Geniuses so I’m sure there will be a fix out sometime soon. In the meantime, don’t use AJAX submit and Page or Redirect confirmations together.