Elegant Themes has been putting a lot of time and effort into securing their Contact Form module, which is a good thing. Sometimes, however, this can introduce obstacles for the 3rd party plugins which extend it.
The most common reason for this error are improper field IDs for your form steps. For best results it is recommended you stick to the following guidelines when setting your field IDs for your form steps:
- every field ID should be unique
- use ONLY lowercase letters and numbers
- use underscores instead of spaces
- do NOT start the field ID with a number
- do NOT use special characters
For example, consider the following form step IDs:
- Step1 should be written as step1
- service 1 should be written as service_1
- DatePicker1 should be written as datepicker1
In earlier versions of Divi these guidelines were much more lax, however, as Divi tightens up security around it’s Contact Form module these guidelines have become much more important in order to ensure successful submission of your forms.
Be sure to clear any caches after changes
Because this plugin extends an existing, native Divi module, it’s recommended you clear any caching plugins active on the website (and your browser cache for good measure) after making any changes.
If your website is still in active development prior to launching, it’s considered best practice to leave all caching plugins disabled while working on the website to avoid any caching conflicts.
Still not working?
In the rare event your field IDs are following best practices and you’re still receiving the “invalid submission” error, it’s recommended you delete the contact form module entirely, save the page, reload the page and re-add the contact form module to re-create your form.
Do NOT just copy + paste a new instance of the module.
In rare instances, the very first multi-step form you create may have an error associated with it and Divi will not let it submit. This happens even if you turn off the multi-step feature after receiving the error. Completely removing the contact form module instance, saving the page, reloading the page and re-adding the module solves the issue almost every time.
Again, it’s important you do not simply copy + paste the module as a new instance because it will still be affected by the issue.