In Vue 3 you can submit with fetch and reactive state.
<script setup>
import { ref, reactive } from "vue";
const form = reactive({ name: "", email: "", message: "", botcheck: "" });
const status = ref("idle");
async function submit() {
status.value = "sending";
const res = await fetch("https://forms.elimbi.com/submit", {
method: "POST",
headers: { "Content-Type": "application/json", Accept: "application/json" },
body: JSON.stringify({ ...form, access_key: "YOUR-ACCESS-KEY" }),
});
status.value = (await res.json()).success ? "sent" : "error";
}
</script>
<template>
<p v-if="status==='sent'">Thanks!</p>
<form v-else @submit.prevent="submit">
<input v-model="form.name" required />
<input v-model="form.email" type="email" required />
<textarea v-model="form.message" required />
<input v-model="form.botcheck" type="checkbox" style="display:none" />
<button :disabled="status==='sending'">Send</button>
</form>
</template>access_key — your key (required).email — if present, FormDrop sets it as Reply-To so you can answer directly.subject — optional email subject.redirect — optional thank-you page URL for plain HTML posts.botcheck — hidden honeypot; if a bot fills it, the submission is silently dropped.Every other field is included in the email and saved in your dashboard log. Send Accept: application/json to get a JSON reply instead of a redirect.
Yes: 250 submissions/month and unlimited forms on the free plan. Pro is $9/mo for 10,000/month.
Not currently — FormDrop handles text fields. Link to a file share instead.
The plain HTML form version does; the fetch version needs JS.