Een statische site heeft geen server die een formulier ontvangt, dus contactformulieren betekenen meestal een externe dienst, een script en een API-sleutel. Op Lobsite heeft een formulier alleen zijn action nodig: laat hem wijzen naar /_lobsite/forms/<name> en deploy. Berichten komen binnen op de pagina Inzendingen in je dashboard en in je e-mail, met spam eruit gefilterd.
<form action="/_lobsite/forms/contact" method="POST">
<input name="email" type="email" required>
<textarea name="message" required></textarea>
<button>Send</button>
</form>
Zo werkt het
- Laat het formulier naar Lobsite wijzen.
action="/_lobsite/forms/contact"enmethod="POST". Het laatste deel van het pad is de naam van het formulier:contact,newsletter,quote. - Deploy. De deploy leest je HTML en registreert elk formulier dat naar
/_lobsite/forms/post; je hoeft niets met de hand te registreren. - Lees de berichten op de pagina Inzendingen in het dashboard, in je e-mail (met Reply-To ingesteld op de afzender), of exporteer ze met
lobsite forms export contact --csv.
Het vak hierboven begint met een contactpagina. Publiceer die om het formulier op een live site te zien; het accepteert berichten zodra de site in een account wordt gehouden.
Spambescherming, ingebouwd
Als een pagina wordt geserveerd, voegt Lobsite aan elk formulier een verborgen honeypotveld en een ondertekende tijdstempel toe. Inzendingen die de honeypot invullen, of binnen 2 seconden na het laden van de pagina binnenkomen, worden apart gezet als spam, en een bezoeker die er te veel achter elkaar stuurt, wordt geweigerd. Je voegt er geen captcha of script voor toe.
Controles, bedankpagina's en JavaScript
Elk formulier kan een sectie in lobsite.toml hebben, die met de deploy meegaat:
[forms.contact]
required = ["name", "email", "message"]
types = { email = "email" }
redirect = "/thanks"
requiredentypesworden ook op de server gecontroleerd; een inzending die faalt, wordt niet opgeslagen, en de bezoeker ziet wat hij moet verbeteren.redirecttoont na het verzenden je eigen pagina. Zonder ziet de bezoeker een bedankpagina met een link terug.- Verzenden met
fetchhoudt de bezoeker op de pagina: postnew FormData(form)metAccept: application/json, en het antwoord is{"ok": true}of de velden die niet door de controle kwamen. - Frameworks werken als het formulier in de gebouwde HTML staat, wat prerendering en statische export opleveren (Astro, Eleventy, Next.js met
output: "export", SvelteKit metprerender).
Volledige voorbeelden (nieuwsbrief, offerteaanvraag, het fetch-script) staan in de formulierdocumentatie.
Wat elk abonnement bevat
| Zonder account | Gratis | Betaald (binnenkort) | |
|---|---|---|---|
| Accepteert inzendingen | Zodra de site is geclaimd | Ja | Ja |
| Inzendingen per maand, per site | — | 25 | Geen limiet |
| E-mailmeldingen | — | Het e-mailadres van je account | Elk geverifieerd adres |
| Ondertekende webhooks | — | Nee | Ja |
| Bewaard voor | — | 90 dagen | 1 jaar |
Voorbeeld-URL's accepteren nooit inzendingen, en bestandsuploads in formulieren worden nog niet ondersteund.
Laat een formulier wijzen naar /_lobsite/forms/contact. Spamfilter inbegrepen.
Doorverwijzingen, headers en formulieren staan in lobsite.toml en reizen mee met elke deploy.
Bekijk een voorbeeld voordat het live gaat. Zet in één klik terug, inclusief doorverwijzingen.
Elke limiet is gepubliceerd, en elke fout vertelt je wat je moet doen.
Elke site krijgt vanaf de eerste deploy een *.lobsite.app-adres met HTTPS.
Bestanden worden op hun hash opgeslagen. Een ongewijzigde site opnieuw deployen uploadt 0 bytes.
Lobsite-formulieren, een formulierdienst of je eigen backend
| Lobsite-formulieren | Een formulier-backenddienst | Je eigen backend | |
|---|---|---|---|
| Wat je aan de pagina toevoegt | De action |
Het endpoint van de dienst, vaak een sleutel of script | Je endpoint |
| Accounts om te beheren | Het account waar je site in staat | Een tweede | Een server of een host voor functions |
| Spamfilter | Ingebouwd | Verschilt per dienst en abonnement | Bouw je zelf |
| Draait mee terug met de site | Ja: instellingen staan in lobsite.toml |
Nee | Hangt ervan af |
| Gratis volume | 25 per maand per site | Verschilt per dienst | Je hostingkosten |
| Webhooks | Betaald abonnement, binnenkort | Meestal | Ja |
Heb je vandaag al honderden inzendingen per maand nodig, of bestandsuploads, dan past een gespecialiseerde dienst beter tot het betaalde abonnement er is. Voor een contactformulier op een kleine site is de action genoeg.
Veelgestelde vragen
Hebben Lobsite-formulieren JavaScript nodig?
Nee. Een gewoon HTML-formulier werkt zoals het is. JavaScript is optioneel, om een melding te tonen zonder de pagina te verlaten.
Waarom kwam het bericht van mijn formulier in de spam terecht?
Meestal werd het formulier door JavaScript in de browser gerenderd, waardoor het de verborgen spamvelden kwijtraakte die Lobsite toevoegt bij het serveren van de pagina. Houd het formulier in de gebouwde HTML, en laat de browser het formulier verzenden zoals het is geserveerd.
Kan ik berichten op een ander e-mailadres ontvangen?
Op het gratis abonnement gaan meldingen naar het e-mailadres van je account. Elk geverifieerd adres komt met het betaalde abonnement, dat binnenkort beschikbaar is.
Accepteert een site zonder account formulierberichten?
Nog niet: de deploy werkt, met een waarschuwing, en het formulier begint berichten te accepteren zodra je de site in een gratis account claimt.
Kan ik meerdere formulieren op één site hebben?
Ja. Elke naam is een eigen formulier, met eigen berichten en instellingen: /_lobsite/forms/contact en /_lobsite/forms/newsletter blijven gescheiden op de pagina Inzendingen en in exports.