Components
Hard Fail Form
A contact form that tells the visitor when the message did not send.
R450
Once. Yours to keep
The shape of it, not a screenshot
What it is
Most contact forms show a thank-you message whether or not the message arrived. This one waits for the response. If the request fails, it says so, keeps every word the visitor typed, and shows an email address to use instead.
Three small files: the form markup, a validation script, and an adapter for wherever you are posting. Adapters are included for Formspree, a Cloudflare Worker and a plain POST URL. Errors render next to the field and are announced through an aria-live region, so a screen reader hears that the email address is invalid rather than meeting a silent red border. Spam is handled with a honeypot field and a time-to-submit check, so there is no captcha and no third-party script.
Wrong choice if you need file uploads, multiple steps, conditional questions or payment. It is one form: name, email, message, and up to three extra fields you define.
What you get
- Form component with fields and states wired up
- Validation with aria-live error announcements
- Failure state that keeps input and shows a fallback address
- Adapters for Formspree, a Worker and a plain POST URL
- Honeypot and timing check for bots
- Pending, success and error styling
After you buy
- 01 You message me On WhatsApp. Tell me which one and where it is going.
- 02 I set it up for you Your words, your colours, your logo dropped in — or the raw files if you would rather do it yourself.
- 03 It goes live On your hosting or on mine. Either way it ends up in your own account.
- 04 It is yours The whole thing, with nothing to renew and nothing tied back to me.
You might also want
- Components R650 Wide Nav A mega menu for sites with too many pages to fit in a normal navbar.
- Components R380 Tier Table Three-column pricing with a monthly and annual switch, plus a full comparison table.
- Components R250 Plain Accordion An FAQ accordion built on details and summary, with FAQ schema from the same file.
Nothing to look at yet
This one is written up but not built, so there is no live version to show. Ask me and I will tell you honestly how long it would take.
Ask about it