Form not submitting

Also searched as: contact form broken

Updated 11 October 2026

Short answer

Open Developer Tools → Network, press submit, and look at what happens. No request at all: a JavaScript error or a validation rule is stopping the form (check the console). A request that fails (4xx or 5xx): the server or a spam or security filter rejected it. A successful request but no email: the form works and the problem is email delivery. Most "broken contact forms" are actually the last case.

What's the problem

Pressing submit does nothing, shows an error, spins forever, or says "sent" but the message never arrives.

Why it happens

  • A JavaScript error stopping the submit handler.
  • Validation on a hidden or required field that the user can't see.
  • A captcha or spam filter failing or blocking real people.
  • The form posts to the wrong place, or the server endpoint errors.
  • Security rules (firewall, bot protection) blocking the post.
  • Email delivery: the form saves fine but the notification email isn't sent or lands in spam.

How to fix it

  1. Watch the Network tab while submitting.
  2. No request: check the console for errors and look for required fields that aren't visible.
  3. Failed request: read the response and the server logs; check firewall and captcha logs.
  4. Successful request: check where submissions go (the form plugin's entries list, a database) and fix email sending. See emails not sending.
  5. Test the captcha from a normal browser and a private window.

What Preventionlabs checks

One click runs the full report on your domain. For this problem it shows whether your site loads, how fast, and where its redirects go; up to 50 pages from your sitemap, listing any that fail or are slow, plus broken links on them. With Cloudflare connected, it also shows which pages returned server errors (5xx) to visitors, and when; which requests the firewall blocked, by Cloudflare's own rule names; recent deploys and account changes, with their times. It doesn't fill in forms, log in or make payments, so test the feature yourself as well.

Run your free report

Your first report is free, no card needed. Then A$50 a month, up to 10 domains. Read-only: it never changes anything.

Sources

  1. MDN Web Docs: Sending form dataguideThe action attribute defines where the data gets sent.
  2. Twilio SendGrid: Manage bounced messagesofficial docsWhen the receiving mail server rejects a sent message, a bounce occurs.
← All of Broken features