HTML form action: the URL that makes a form actually submit.
The action attribute tells the browser where to send form data. Use it with method="POST" to submit a contact form to your API, a webhook receiver, or a no-backend form service like splitforms.
A complete form action example.
This posts the submission to splitforms, where it is stored, emailed, filtered for spam, and forwarded to webhooks.
<form action="https://splitforms.com/api/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
<input name="email" type="email" required />
<textarea name="message" required></textarea>
<button type="submit">Send</button>
</form>Use POST for contact forms
POST keeps fields in the request body and supports longer messages and files.
Use absolute URLs for hosted backends
A third-party receiver needs a full URL like https://splitforms.com/api/submit.
Keep named inputs
Only fields with a name attribute are included in the submitted payload.
CORS only matters with fetch
Native form submits can post across origins without a CORS preflight.
What does action do in an HTML form?
The action attribute tells the browser which URL should receive the form data when a visitor submits the form. If you set action to a hosted form backend endpoint, the form can work without your own server.
Should a contact form use GET or POST?
Use POST. GET puts form fields into the URL and is appropriate for search and filters. POST sends fields in the request body and is the correct method for contact forms, lead forms, file uploads, and anything that creates a record.
Can a form action point to another domain?
Yes. A normal browser form submit can POST to an absolute URL on another domain. CORS only becomes a concern when you intercept the submit with JavaScript and use fetch or XMLHttpRequest.
What is the easiest action URL for a static website contact form?
Use a form-backend endpoint like https://splitforms.com/api/submit. Add your access key as a hidden field, keep method set to POST, and submissions can be emailed, stored, filtered for spam, and sent to webhooks.