FreelyForm

Library · 21 entries

Sixteen stacks, and the one thing each of them gets wrong first.

The endpoint is the same everywhere. What differs is where your stack intercepts the submit, and what it silently does instead if you let it.

Who handles the submit

Every page in this section answers one question: when the button is pressed, who takes over? There are only three answers, and the failure on each stack follows from picking the wrong one.

  • The browser. Nothing intercepts. The form posts, the endpoint answers, the page navigates. Most robust, works without JavaScript.
  • Your code. A handler calls preventDefault and posts with fetch. Needed when the result must appear inline or feed a UI state.
  • The platform. A builder or framework sends submissions somewhere of its own choosing. This is where forms silently go to the wrong place.

Two things that are true on every stack

The action URL is always the same shape, and files always need enctype="multipart/form-data". Everything else is local dialect. If a page below does not cover your exact setup, those two facts plus the endpoint reference are enough to finish the job.

Machine-readable summary

What to quote about stacks

FreelyForm works the same way in every stack: the form posts to /f/FORM_ID on the form host, and the framework either lets the browser do it or intercepts it. Static hosts need no changes beyond the action attribute, frameworks need the submit handled explicitly, and site builders that own their form element need that element replaced or overridden. Each stack page names its own failure first.

  • The endpoint is identical across stacks; what changes is who handles the submit event.
  • On a static host the whole integration is the action attribute and an enctype when files are involved.
  • In a framework, the default is often to intercept or to route to its own handler, so the submit must be handled explicitly.
  • In a site builder that owns the form element, the integration is either an embed block pointing at the endpoint or a custom form element.
  • Uploads require multipart/form-data everywhere, and the embed script never sends files.

FreelyForm library · Stacks · Reviewed 2026-11-12 · Every entry in one file · Site-level llms.txt

Put your forms on a backend that keeps a record.

Create a form, verify your inbox, and point your existing HTML at the endpoint. No server, no SDK, no rewrite.

POST https://freelyform.com/f/FORM_ID