formulare

Formulare, die ohne Backend funktionieren

Setz ein Attribut auf ein Formular deiner statischen Site und jede Einsendung landet in deinem Dashboard. Kein JavaScript, kein eingebettetes Widget, kein fremder Dienst — und wer es ausfüllt, muss sich nirgends anmelden.

index.html
<form harvis-form="contact">
  <input name="email" type="email" required>
  <textarea name="message"></textarea>
  <button>Send</button>
</form>
how it works

Drei Schritte, und einer davon ist neu deployen

Es gibt keinen Formularbaukasten zu lernen und keinen Endpunkt zu kopieren. Das Attribut ist die ganze Einrichtung.

  1. 01

    Attribut setzen

    Schreib harvis-form an ein beliebiges Formular in deinem HTML. Gib ihm einen Namen, wenn die Site mehr als eines hat. Lass action und method weg — die werden beim Ausliefern der Seite ergänzt.

  2. 02

    Neu deployen

    Zieh den Ordner noch einmal rein oder führ npx harvis aus. Nichts zu konfigurieren, kein Schlüssel zum Einfügen, kein Schalter, den du vorher im Dashboard umlegen musst.

  3. 03

    Lesen, was reinkommt

    Die Einsendungen erscheinen im Dashboard unter deiner Site, die neuesten zuerst. Öffne eine Zeile, um alles zu lesen, oder nimm den ganzen Stapel als CSV.

the markup

Das Ganze sind zwei Attribute

harvis schreibt das Formular auf dem Weg aus dem Server um, damit die Seite, die du geschrieben hast, die Seite bleibt, die du geschrieben hast.

was du schreibst
<form harvis-form="contact"
      data-harvis-redirect="/thanks.html">
  <input name="email" type="email" required>
  <button>Send</button>
</form>
was deine Besucher bekommen
<form harvis-form="contact"
      data-harvis-redirect="/thanks.html"
      action="/__harvis/form/contact" method="post">
  <input type="hidden" name="_harvis_redirect" value="/thanks.html">
  <input type="text" name="_harvis_hp" tabindex="-1" aria-hidden="true" style="…">
  <input name="email" type="email" required>
  <button>Send</button>
</form>

Die zwei Attribute

harvis-form
Markiert das Formular als eines, das gesammelt wird. Der Wert benennt es, damit mehrere Formulare auf einer Site auseinandergehalten werden; lässt du den Wert weg, wird unter „default“ gesammelt.
data-harvis-redirect
Optional. Die Seite auf deiner Site, auf die Leute nach dem Absenden geschickt werden. Alles, was von deiner Site wegzeigt, wird ignoriert.
included

Was du bekommst

Alles hier drunter ist von Haus aus an. Für nichts davon gibt es eine Einstellungsseite.

  • Kein JavaScript

    Das Formular sendet so, wie HTML schon immer gesendet hat. Es funktioniert auch mit blockierten Skripten, auf einem langsamen Handy und in einem Browser, der nichts außer Text darstellt.

  • Spam wird gefiltert

    Jedes Formular wird mit einem Lockfeld ausgeliefert, das kein Mensch sehen kann, und was es ausfüllt, wird kommentarlos verworfen. Rate-Limits begrenzen, wie viel ein einzelner Besucher — und eine einzelne Site — pro Stunde senden kann.

  • So viele Formulare, wie du willst

    Gib ihnen Namen — ein Kontaktformular und ein Anmeldeformular auf derselben Site behalten je ihre eigene Liste, und du kannst sie getrennt filtern und exportieren.

  • Deine eigene Danke-Seite

    Zeig mit dem Formular auf eine Seite, die du geschrieben hast, und genau dort landen die Leute nach dem Absenden. Lass es weg, und sie bekommen stattdessen eine schlichte Bestätigungsseite.

  • Exportieren, wann du willst

    Ein Klick gibt dir eine CSV mit einer Spalte für jedes Feld, das jemals jemand abgeschickt hat — ein Formular, das unterwegs eine Frage dazubekommen hat, öffnet sich also trotzdem als eine Tabelle.

  • Niemandem folgt hier irgendwas

    Kein Tracking-Skript, kein Cookie, keine dritte Partei in der Seite. Die Adresse der Besucher wird vor dem Speichern gehasht, und das nur, damit das Rate-Limit zwei Einsendungen auseinanderhalten kann.

limits

Die Grenzen

Großzügig für ein Kontaktformular, eng genug, dass ein auf deine Site gerichtetes Skript dir nicht das Postfach füllt.

Felder pro Einsendung
30
Länge eines Feldes
5.000 Zeichen
Größe einer Einsendung
64 KB
Einsendungen pro Site
60 pro Stunde
Einsendungen pro Besucher
20 pro Stunde
Aufbewahrt pro Site
1.000, neueste zuerst
faq

Fragen

Was Leute fragen, bevor sie ein Formular auf eine statische Site stellen.

Was ist ein statisches Formular?

Ein Formular auf einer Site, die keinen eigenen Server hat. Normalerweise heißt das, dass das Formular nirgendwohin senden kann — deshalb borgen sich statische Sites meist einen fremden Formulardienst. harvis liefert ohnehin jede Seite deiner Site aus und kann die Einsendung deshalb gleich im Vorbeigehen entgegennehmen.

Muss ich programmieren können?

Du musst ein Wort in eine Zeile HTML einfügen können. Wenn eine KI deine Site geschrieben hat, bitte sie, das Attribut harvis-form an das Formular zu schreiben — sie weiß, wie das geht, denn genau das steht in den Anweisungen, die harvis für KI-Assistenten veröffentlicht.

Funktioniert das mit abgeschaltetem JavaScript?

Ja. Genau deshalb ist es so gebaut. Das Formular macht einen ganz gewöhnlichen HTML-Post und der Browser folgt danach einer Weiterleitung — exakt so, wie Formulare funktioniert haben, bevor es JavaScript gab.

Kann ich weiter meinen eigenen Endpunkt oder einen anderen Formulardienst nutzen?

Ja — lass das Attribut einfach weg. Formulare ohne harvis-form werden genau so ausgeliefert, wie du sie geschrieben hast, action inklusive. Bei einem Formular, das es hat, ersetzt harvis die action, denn das Attribut zu setzen ist die Art, zu sagen, wohin die Einsendung gehen soll.

Können Leute Dateien anhängen?

Noch nicht. Ein Datei-Feld auf einem gesammelten Formular funktioniert für die Besucher weiterhin, aber die Datei wird nicht gespeichert — aufbewahrt werden nur die Textfelder.

Was passiert mit den Einsendungen, wenn ich die Site lösche?

Sie gehen mit. Einsendungen gehören zur Site und nicht zu einem Deploy: Neu deployen behält sie, die Site löschen entfernt sie endgültig. Exportier vorher eine CSV, wenn du sie behalten willst.

Stell eine Site online und probier es aus

Veröffentlichen ist kostenlos und dauert etwa zwei Sekunden. Setz das Attribut auf ein Formular, deploye neu und schick dir selbst eine Testnachricht.

Eine Site online stellen