lobsite! Inloggen Registreren

Formulieren voor statische sites

Ontvang contact-, aanmeld- en offerteformulieren op een statische site: laat het formulier wijzen naar /_lobsite/forms/<name> en deploy. Met spamfilter.

Deploy de map; elk formulier dat naar /_lobsite/forms/ verstuurt, wordt bij het deployen gevonden.

Bekijk het eerst in de HTML Viewer →

Gratis, zonder account. Hij blijft 6 uur online, of voorgoed als je hem houdt.

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

  1. Laat het formulier naar Lobsite wijzen. action="/_lobsite/forms/contact" en method="POST". Het laatste deel van het pad is de naam van het formulier: contact, newsletter, quote.
  2. Deploy. De deploy leest je HTML en registreert elk formulier dat naar /_lobsite/forms/ post; je hoeft niets met de hand te registreren.
  3. 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"
  • required en types worden ook op de server gecontroleerd; een inzending die faalt, wordt niet opgeslagen, en de bezoeker ziet wat hij moet verbeteren.
  • redirect toont na het verzenden je eigen pagina. Zonder ziet de bezoeker een bedankpagina met een link terug.
  • Verzenden met fetch houdt de bezoeker op de pagina: post new FormData(form) met Accept: 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 met prerender).

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.

Formulieren die gewoon werken

Laat een formulier wijzen naar /_lobsite/forms/contact. Spamfilter inbegrepen.

Configuratie in één bestand

Doorverwijzingen, headers en formulieren staan in lobsite.toml en reizen mee met elke deploy.

Elke deploy krijgt een URL

Bekijk een voorbeeld voordat het live gaat. Zet in één klik terug, inclusief doorverwijzingen.

Limieten die je kunt nalezen

Elke limiet is gepubliceerd, en elke fout vertelt je wat je moet doen.

Overal HTTPS

Elke site krijgt vanaf de eerste deploy een *.lobsite.app-adres met HTTPS.

Alleen gewijzigde bestanden worden geüpload

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.

Zie ook