Vue forms

Drop a Vue component into your frontend and submit directly to an EU-hosted form endpoint. Browse 46 templates that generate clean Vue code pointing to your Formward endpoint.

Implementation notes

  1. Paste the generated component
  2. Replace the endpoint placeholder
  3. Connect the response state to your confirmation UI

A working Vue contact form

This server-rendered example is generated specifically for Vue. Replace the endpoint placeholder with your public Formward form ID; it is not a secret.

Best for

Vue single-page applications that want reactive feedback while sending directly to a managed form endpoint.

Watch for

Reset reactive state only after a successful response and keep server errors visible long enough for users to act.

<script setup lang="ts">
import { ref } from "vue";

const sent = ref(false);

async function onSubmit(e: Event) {
  const form = e.target as HTMLFormElement;
  const res = await fetch("https://forms.formward.eu/f/your-form-id", {
    method: "POST",
    headers: { Accept: "application/json" },
    body: new FormData(form),
  });
  if (res.ok) {
    sent.value = true;
    form.reset();
  }
}
</script>

<template>
  <p v-if="sent">Thanks! Your message has been sent.</p>
  <form v-else @submit.prevent="onSubmit">
    <label for="name">Name</label>
    <input type="text" name="name" id="name" required />
    <label for="email">Email</label>
    <input type="email" name="email" id="email" required />
    <label for="message">Message</label>
    <textarea name="message" id="message" required></textarea>
    <input type="text" name="_gotcha" tabindex="-1" autocomplete="off" style="position:absolute;left:-9999px" aria-hidden="true" />
    <button type="submit">Send</button>
  </form>
</template>

Application forms

6

Contact forms

6

Donation forms

3

Feedback forms

9

Order forms

5

Registration forms

5

Request forms

9

Signup forms

3
Vue form templates, EU-hosted backend | Formward