Formulario de comentarios Astro
Añade un widget de comentarios a tu blog o documentación de Astro sin JavaScript y sin backend. Una lista desplegable de calificación y un campo de comentario en un componente .astro que envía el POST a Formpaste, así que los comentarios llegan a tu bandeja de entrada.
Como construirlo
- Crea un formulario en tu panel de Formpaste y copia su clave de acceso.
- Copia el markup de arriba en un componente .astro debajo de tu contenido.
- Reemplaza YOUR_ACCESS_KEY_HERE con tu clave de acceso, luego compila y despliega.
Prompt para tu agente de programación con IA
Give me a plain HTML feedback form with a rating select (1 to 5) and a message textarea for an Astro component that POSTs to https://api.formpaste.com/submit with a hidden access_key input. Name and email optional. No island, no client script.O conecta el servidor MCP de Formpaste con Claude Code, Codex, Cursor, Claude Desktop, VS Code o cualquier cliente mcp-remote. Ver la guía de configuración.
Puntos claves de Astro
Un formulario de contacto en Astro es un form normal dentro de un componente .astro que envía el POST a Formpaste. No usa JavaScript y funciona en un build totalmente estático. Solo necesitas un island si quieres un mensaje de éxito en línea en vez de una redirección.
Cero JavaScript por defecto
Un form con action apuntando al endpoint de Formpaste y method POST se envía con un post de página completa - sin island, sin script de cliente. Ese es todo el sentido de Astro: la página se mantiene estática y rápida.
No se requiere SSR
Como el formulario envía el POST a un endpoint externo, no necesitas el SSR de Astro ni un adapter. output se mantiene static y el formulario funciona igual en cualquier host estático.
Island solo si quieres JS en línea
Si prefieres quedarte en la página y mostrar tu propio estado de éxito, mueve el formulario a un island de framework (client:load) y usa el onSubmit de React o Vue del selector. Para un flujo de redirección a página de agradecimiento, no se necesita ningún island.
El access_key oculto lo conecta
Mantén el input oculto access_key exactamente como fue generado. Le indica a Formpaste a qué formulario pertenece el envío.
Que debes acertar
Una calificación más un comentario es el punto óptimo
Un select para la puntuación y un textarea para el porqué te da tanto un número que rastrear como el contexto detrás de él, sin un formulario largo.
Deja que la gente permanezca anónima
Marca el nombre y el correo como opcionales. Los comentarios son más honestos cuando no están ligados a una identidad, y de todas formas filtras el spam automáticamente.
Dirige los comentarios adonde los verás
Reenvía los envíos a una bandeja compartida o a un webhook hacia tu sistema de seguimiento para que nada quede sin leer.
Cómo funciona
Tres pasos simples para que los envíos de formularios lleguen a tu bandeja de entrada.
Crea tu formulario, apunta la URL de action al endpoint de Formpaste y añade tu clave de acceso.
Crea tu formulario
Regístrate, verifica tu correo y crea una clave de acceso en tu panel.
Copia el código
Pega el fragmento de arriba en tu proyecto. Elige CSS o Tailwind para que combine con tu sitio.
<form action="https://api.formpaste.com/submit" method="POST" class="mx-auto flex w-full max-w-md flex-col gap-4 rounded-xl border border-gray-200 bg-white p-6 shadow-sm dark:border-gray-800 dark:bg-gray-950">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY_HERE">
<label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Nombre (opcional)
<input type="text" name="name" class="rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100" />
</label>
<label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Correo electrónico (opcional)
<input type="email" name="email" placeholder="tu@ejemplo.com" class="rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100" />
</label>
<label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Calificación
<select name="rating" required class="rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100">
<option>5 - Excelente</option>
<option>4 - Bueno</option>
<option>3 - Aceptable</option>
<option>2 - Malo</option>
<option>1 - Muy malo</option>
</select>
</label>
<label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Tu comentario
<textarea name="message" required class="min-h-28 rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100"></textarea>
</label>
<button type="submit" class="w-full rounded-md bg-gray-900 px-4 py-2 text-sm font-medium text-white shadow-sm transition-colors hover:bg-gray-800 disabled:opacity-60 dark:bg-white dark:text-gray-900 dark:hover:bg-gray-200">Enviar comentario</button>
</form>Añade tu clave de acceso
Reemplaza el marcador por tu clave de acceso para empezar a recibir envíos.
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY_HERE">Formulario de comentarios Astro FAQ
Pega un formulario. Recibe envíos.
Al instante, sin configurar ningún backend, servidor ni base de datos. 250 envíos/mes gratis, sin tarjeta de crédito.