After a successful HTML (non-JavaScript) submission, FormSubmit responds with 303 See Other. Browsers then load the next page with GET, so refreshing never re-submits the form.
Where visitors are sent
- Form settings → Redirect URL. Always wins when set.
_redirectfield (alias_next). Lets different pages use different thank-you pages:
html
<input type="hidden" name="_redirect" value="https://example.com/thanks?source=pricing">When a domain allowlist is configured, _redirect must point to an allowed domain — this prevents your endpoint being used as an open redirect.
- Hosted thank-you page. A clean confirmation page at
formsubmit.app/thanksshowing your form's custom success title and message.
Errors
If a submission fails (for example a captcha error) HTML visitors are redirected to a friendly error page explaining what happened, with a link back. JavaScript clients receive JSON — see AJAX & JavaScript.
JavaScript submissions
Requests that ask for JSON never redirect. Use the message in the response or your own UI.