Formulários que funcionam sem backend
Adicione um atributo a um formulário do seu site estático e cada envio cai no seu painel. Sem JavaScript, sem widget incorporado, sem serviço de terceiros e sem nada para quem preenche ter que assinar.
<form harvis-form="contact"> <input name="email" type="email" required> <textarea name="message"></textarea> <button>Send</button> </form>
Três passos, e um deles é publicar de novo
Não há construtor de formulários para aprender nem endpoint para copiar. O atributo é toda a configuração.
- 01
Adicione o atributo
Coloque harvis-form em qualquer formulário do seu HTML. Dê um nome a ele se o site tiver mais de um. Deixe action e method de fora — eles são preenchidos na hora em que a página é servida.
- 02
Publique de novo
Arraste a pasta outra vez ou rode npx harvis. Nada para configurar, nenhuma chave para colar, nenhum botão para ligar antes no painel.
- 03
Leia o que chegar
Os envios aparecem embaixo do seu site no painel, os mais recentes primeiro. Abra uma linha para ler tudo, ou leve o conjunto inteiro em CSV.
A coisa toda são dois atributos
O harvis reescreve o formulário na saída do servidor, então a página que você escreveu continua sendo a página que você escreveu.
<form harvis-form="contact"
data-harvis-redirect="/thanks.html">
<input name="email" type="email" required>
<button>Send</button>
</form><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>Os dois atributos
- harvis-form
- Marca o formulário como um dos que devem ser coletados. O valor dá nome a ele, para que vários formulários de um mesmo site não se misturem; sem valor, a coleta vai para “default”.
- data-harvis-redirect
- Opcional. A página do seu site para onde mandar as pessoas depois do envio. Qualquer coisa que aponte para fora do seu site é ignorada.
O que você ganha
Tudo aqui embaixo já vem ligado. Não existe página de configurações para nada disso.
Sem JavaScript
O formulário envia do jeito que HTML sempre enviou. Continua funcionando com scripts bloqueados, num celular lento e num navegador que só desenha texto.
O spam é filtrado
Todo formulário é servido com um campo-isca que nenhuma pessoa consegue ver, e o que preencher ele é descartado sem aviso. Limites de taxa controlam quanto um visitante, e um site, podem enviar por hora.
Quantos formulários você quiser
Dê nomes a eles — um formulário de contato e um de cadastro no mesmo site mantêm cada um sua própria lista, e você pode filtrar e exportar separadamente.
Sua própria página de obrigado
Aponte o formulário para uma página que você escreveu e é ali que as pessoas caem depois de enviar. Deixe de fora e elas veem uma página de confirmação simples.
Exporte quando quiser
Um botão te dá um CSV com uma coluna para cada campo que alguém já enviou, então um formulário que ganhou uma pergunta no meio do caminho ainda abre como uma tabela só.
Nada fica seguindo ninguém
Sem script de rastreamento, sem cookie, sem terceiros dentro da página. O endereço do visitante passa por hash antes de ser guardado, e só para que o limite de taxa consiga distinguir dois envios.
Os limites
Generosos para um formulário de contato, apertados o bastante para que um script apontado para o seu site não encha sua caixa de entrada.
- Campos por envio
- 30
- Tamanho de um campo
- 5.000 caracteres
- Tamanho de um envio
- 64 KB
- Envios por site
- 60 por hora
- Envios por visitante
- 20 por hora
- Guardados por site
- 1.000, os mais recentes primeiro
Perguntas
O que as pessoas perguntam antes de colocar um formulário num site estático.
O que é um formulário estático?
Um formulário num site que não tem servidor próprio. Normalmente isso quer dizer que o formulário não tem para onde mandar nada, e é por isso que sites estáticos costumam pegar emprestado um serviço de formulários de terceiros. O harvis já serve todas as páginas do seu site, então dá para receber o envio na passagem.
Preciso saber programar?
Você precisa conseguir adicionar uma palavra a uma linha de HTML. Se foi uma IA que escreveu seu site, peça que ela adicione o atributo harvis-form ao formulário — ela sabe como, porque é isso que dizem as instruções que o harvis publica para assistentes de IA.
Funciona com o JavaScript desligado?
Funciona. É justamente por isso que foi feito assim. O formulário faz um post HTML comum e o navegador segue um redirecionamento depois, exatamente como os formulários funcionavam antes de o JavaScript existir.
Posso continuar usando meu próprio endpoint ou outro serviço de formulários?
Pode — é só não adicionar o atributo. Formulários sem harvis-form são servidos exatamente como você escreveu, action e tudo. Num formulário que tem o atributo, o harvis substitui o action, porque adicionar o atributo é justamente o jeito de dizer para onde o envio deve ir.
As pessoas podem anexar arquivos?
Ainda não. Um campo de arquivo num formulário coletado continua funcionando para o visitante, mas o arquivo não é guardado — só os campos de texto ficam.
O que acontece com os envios se eu excluir o site?
Eles vão junto. Os envios pertencem ao site e não a uma publicação, então publicar de novo mantém tudo e excluir o site apaga de vez. Exporte um CSV antes se quiser guardar.
Coloque um site no ar e teste
Publicar é de graça e leva uns dois segundos. Adicione o atributo a um formulário, publique de novo e mande uma mensagem de teste para você mesmo.