Browse AjaxPress docs

Form plugins

On this page

Form plugins and AjaxPress get along without any setup. This page explains why, and how to check a form on your own site.

Why they work

Most form plugins already submit their forms in the background, with their own script, and show the confirmation message in place. That includes Contact Form 7, WPForms, Fluent Forms, Formidable Forms, Ninja Forms, Forminator, Elementor and Bricks forms, and Gravity Forms with ajax turned on.

When a plugin handles its own submission, AjaxPress sees that and stays out of the way. The form behaves exactly as it does without AjaxPress.

Forms that submit the ordinary way, such as Gravity Forms without ajax, or a hand-written form, are submitted by AjaxPress in the background instead, and the result page appears without a full reload. See Forms.

Things that work as usual

  • Validation messages and required fields.
  • CAPTCHA, reCAPTCHA and Cloudflare Turnstile. Each page loads its own scripts, so the challenge is set up fresh on every page.
  • Multi-step forms, conditional fields and calculations.
  • Email notifications and entries, which are handled on your server.

Things to test

After installing AjaxPress, submit each important form once, logged out, and check:

  1. The confirmation message appears, or the confirmation page loads.
  2. The notification email and the entry arrive, once.
  3. If the form redirects after submitting (to a thank-you page, or to a payment page), you land on the right page, and the address bar shows it.
  4. File upload fields work. Forms with a file field always submit the normal way, which is expected.

If a form misbehaves

SymptomTry
The entry or email arrives twiceUpdate AjaxPress (2.4.2 fixed the known cases), then opt the form out
The form stops before its confirmation messageSame
The page changes, but the confirmation is missingOpt the form out
The form works only after a full page reloadOpt the form out, or exclude the page

To opt a form out, add data-ajaxpress-ignore-submit to the form or an element around it. With a form plugin, the simplest place is a wrapper: a Custom HTML block around the form’s shortcode, or a custom attribute on the page builder section that holds the form:

<div data-ajaxpress-ignore-submit>
  [contact-form-7 id="123"]
</div>

See Forms and Form problems.