Cómo conectar tu formulario HTML
Formulario de contacto para Astro
Un sitio Astro generado de forma estática no tiene servidor que reciba formularios. En lugar de configurar un adaptador y renderizado en servidor, envíe el formulario a FormPost. Le reenviamos los datos por correo electrónico.
Preparación: cree un formulario en FormPost
Regístrese en FormPost, cree un formulario e indique el dominio en el que está su sitio. A continuación le mostramos la dirección de su formulario. Sustituye a https://www.formpost.eu/f/abc123 en el código de abajo; no hay que cambiar nada más.
1. Crear un componente de formulario
El componente solo contiene HTML, sin JavaScript. Astro lo entrega tal cual.
<form action="https://www.formpost.eu/f/abc123" method="POST" data-astro-reload>
<label for="email">Correo</label>
<input type="email" id="email" name="email" required>
<label for="message">Mensaje</label>
<textarea id="message" name="message" required></textarea>
<input type="text" name="_gotcha" style="display:none;" tabindex="-1" autocomplete="off">
<button type="submit">Enviar</button>
</form>
2. Usar el componente
Importe el componente en la página donde deba aparecer el formulario.
---
import ContactForm from '../components/ContactForm.astro';
---
<ContactForm />
Conviene saber
- Si utiliza el ClientRouter (antes View Transitions), Astro gestiona el envío de formularios por su cuenta. El atributo data-astro-reload del código de arriba lo desactiva para este formulario, de modo que llega a FormPost de forma normal. Sin ClientRouter no molesta.
- Solo aceptamos envíos desde el dominio indicado. Los envíos desde el servidor de desarrollo local (astro dev en localhost) se rechazan; para probar, utilice el formulario de prueba de su área de cliente.
- No necesita adaptador ni renderizado en servidor. El formulario funciona con una compilación totalmente estática.
Lo que FormPost todavía no hace
- Los formularios se envían de forma clásica, es decir, cambiando de página. De momento no admitimos el envío en segundo plano con JavaScript.
- No aceptamos archivos adjuntos.
- FormPost no recoge el consentimiento de tus visitantes. El aviso en tu propia política de privacidad sigue siendo cosa tuya; el texto para ello lo tienes ya redactado junto a tu formulario.
Más guías y comparativas
Crea un formulario y pruébalo
El plan Free cubre un formulario con diez avisos al día y no cuesta nada, de forma permanente.