Next.js forms
Send from a Next.js client form directly to Formward when you do not need a custom server action. Browse 46 templates that generate clean Next.js code pointing to your Formward endpoint.
Implementation notes
- Add the generated client component
- Replace the endpoint placeholder
- Keep secrets out of the browser; the form ID is intentionally public
A working Next.js contact form
This server-rendered example is generated specifically for Next.js. Replace the endpoint placeholder with your public Formward form ID; it is not a secret.
Best for
Next.js marketing sites where a public form endpoint is simpler than a server action and database integration.
Watch for
Use a client component only for interactive state, never expose secrets, and keep the public form identifier configurable.
"use client";
import { useState } from "react";
export function SimpleContactForm() {
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" required />
<label htmlFor="email">Email</label>
<input type="email" name="email" id="email" required />
<label htmlFor="message">Message</label>
<textarea name="message" id="message" required />
<input
type="text"
name="_gotcha"
tabIndex={-1}
autoComplete="off"
style={{ position: "absolute", left: "-9999px" }}
aria-hidden="true"
/>
<button type="submit">Send</button>
</form>
);
}
Application forms
6Simple job application
A short job application capturing the essentials.
View Next.js code →Rental application
Collect applicant details for a rental property.
View Next.js code →Job application
Standard job application with role and resume details.
View Next.js code →Vendor application
Onboard a new vendor or supplier.
View Next.js code →Employment application
Formal employment application with availability.
View Next.js code →Tenant application
Screen prospective tenants for a unit.
View Next.js code →Contact forms
6Simple contact
A minimal contact form with name, email and message.
View Next.js code →Contact me
Personal contact form for freelancers and creators.
View Next.js code →Contact us
General contact form for a company or team.
View Next.js code →Inquiry
Capture a general inquiry or question.
View Next.js code →Contact sales
Route qualified leads to your sales team.
View Next.js code →Media inquiry
Press and media contact form with deadlines.
View Next.js code →Donation forms
3Feedback forms
9Customer satisfaction survey
Measure customer satisfaction (CSAT).
View Next.js code →Documentation feedback
Collect feedback on docs and help articles.
View Next.js code →NPS survey
Net Promoter Score survey with a 0-10 rating.
View Next.js code →Complaint form
Let customers file a formal complaint.
View Next.js code →Client feedback form
Gather feedback from clients after a project.
View Next.js code →Anonymous feedback
Collect candid feedback without identifying details.
View Next.js code →Event feedback
Get attendee feedback after an event.
View Next.js code →Course evaluation
Evaluate a course and its instructor.
View Next.js code →Open house feedback
Capture visitor impressions after an open house.
View Next.js code →Order forms
5Bakery order
Take custom bakery and cake orders.
View Next.js code →Catering order
Request catering for an event.
View Next.js code →T-shirt order
Order custom or branded t-shirts.
View Next.js code →Change order
Request changes to an existing project or contract.
View Next.js code →Product order
Generic product order form.
View Next.js code →Registration forms
5Event registration
Register attendees for an event.
View Next.js code →Course enrollment
Enroll students into a course.
View Next.js code →Contest entry
Collect entries for a contest or giveaway.
View Next.js code →Webinar registration
Sign up attendees for a webinar.
View Next.js code →Warranty registration
Register a product for warranty coverage.
View Next.js code →Request forms
9RMA request
Return merchandise authorization request.
View Next.js code →Change request
Submit a change request for review.
View Next.js code →Maintenance request
Report a maintenance or repair issue.
View Next.js code →Purchase request
Request approval to purchase goods or services.
View Next.js code →Creative request
Brief the creative team on a new request.
View Next.js code →Refund request
Request a refund for an order.
View Next.js code →Payment request
Request a payment or invoice settlement.
View Next.js code →Shipping request
Request shipment of an order or item.
View Next.js code →Support request
Open a support ticket.
View Next.js code →