Event feedback

Get attendee feedback after an event.

Why these fields

  • Name: Name captures a short, searchable answer but remains optional.
  • Email: Email provides a validated reply address but remains optional.
  • How would you rate the event?: How would you rate the event? keeps answers consistent for filtering and routing but remains optional.
  • What did you enjoy most?: What did you enjoy most? leaves room for context and detail but remains optional.
  • What could be improved?: What could be improved? leaves room for context and detail but remains optional.

Fields

NametextEmailemailHow would you rate the event?selectWhat did you enjoy most?textareaWhat could be improved?textarea

Preview

Code

"use client";

import { useState } from "react";

export function EventFeedbackForm() {
  const [sent, setSent] = useState(false);

  async function onSubmit(e: React.FormEvent<HTMLFormElement>) {
    e.preventDefault();
    const form = e.currentTarget;
    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) {
      setSent(true);
      form.reset();
    }
  }

  if (sent) return <p>Thanks! Your message has been sent.</p>;

  return (
    <form onSubmit={onSubmit}>
      <label htmlFor="name">Name</label>
      <input type="text" name="name" id="name" />
      <label htmlFor="email">Email</label>
      <input type="email" name="email" id="email" />
      <label htmlFor="rating">How would you rate the event?</label>
      <select name="rating" id="rating">
        <option value="5">5</option>
        <option value="4">4</option>
        <option value="3">3</option>
        <option value="2">2</option>
        <option value="1">1</option>
      </select>
      <label htmlFor="highlight">What did you enjoy most?</label>
      <textarea name="highlight" id="highlight" />
      <label htmlFor="improve">What could be improved?</label>
      <textarea name="improve" id="improve" />
      <input
        type="text"
        name="_gotcha"
        tabIndex={-1}
        autoComplete="off"
        style={{ position: "absolute", left: "-9999px" }}
        aria-hidden="true"
      />
      <button type="submit">Send</button>
    </form>
  );
}

Customize before publishing

  • Remove fields you do not need and mark only essential answers as required.
  • Replace placeholder wording with terms your audience already understands.
  • Add your privacy notice, retention details and expected response time.
  • Test keyboard focus, validation errors and the confirmation state on mobile.

Use this with Formward

Create a form, copy your endpoint, and replace https://forms.formward.eu/f/your-form-id in the code above.

Event feedback template, copy-paste code | Formward