📄 靜態網站表單

靜態網站上放一個可用的表單,
不需要後端

GitHub Pages、Netlify、Neocities,或一個純 HTML 資料夾——把表單指向 FormLM 端點,每筆提交都會被儲存。免費開始。

為什麼靜態網站留不住表單

HTML 能在任何地方渲染表單,卻存不下答案。

靜態網站就是一堆按原樣分發的檔案。這正是它快、便宜、隨處可代管的原因——GitHub Pages、Netlify、Cloudflare Pages、Vercel、Neocities、一個 S3 儲存貯體。但沒有任何程序在執行來接收 POST,所以訪客按下送出的那一刻,提交無處可去。傳統繞法各有代價:

mailto: 連結依賴訪客的郵件用戶端,還會把位址洩露給爬蟲。代管原生表單處理(如 Netlify Forms)把你綁死在那個代管上——搬到 GitHub Pages 表單就死了。搭一個真後端意味著伺服器、資料庫、部署與維護,而要收集的往往只是聯絡訊息。

乾淨解決這個問題的品類是表單後端:頁面保持靜態,表單的 action 屬性指向一個代管端點,由它儲存提交。FormLM 的 Data API 是一個表單後端,還會說 JSON、在 ?help 為 AI Agent 自我描述、並讓你經 HTTP 查詢存回的資料。

兩行的改動

改一個屬性,這就是全部遷移。
<!-- 改動前:一個哪裡也去不了的表單 -->
<form action="#" method="POST"> ... </form>

<!-- 改動後:一個會把提交存下來的表單 -->
<form action="https://formlm.me/api/v3/share/YOUR_TOKEN/form" method="POST">
  <input name="name" required>
  <input name="email" type="email" required>
  <textarea name="message"></textarea>
  <button type="submit">Send</button>
</form>
✓

無需 JavaScript——原生表單 POST 在 JS 被封鎖時也能運作。

✓

與代管無關——同一端點在任何靜態代管或本機檔案上都能用。

✓

CORS 已開啟——就算加了 JS,fetch 從任何來源呼叫都成功。

✓

欄位自動建立——新的 input 名稱自動成為新資料欄。

取得 token:在 FormLM 建立一個表單(一句話描述,AI 幫你生成),打開發佈頁,開啟 Data API,複製端點。提交會出現在你的 FormLM 儀表板裡,並且持續可查詢。

更體面地處理回應

選配:讓使用者留在你的頁面,而不是看到一屏原始 JSON。

原生表單 POST 會跳轉到端點的 JSON 回應。如果你更想展示自己的致謝狀態,幾行 JavaScript 攔截提交並用 fetch 送出——同一端點、同一儲存、更好的體驗:

const form = document.querySelector('form');
form.addEventListener('submit', async (e) => {
  e.preventDefault();
  await fetch(form.action, { method: "POST", body: new FormData(form) });
  form.reset();
  // 在這裡顯示你自己的「提交成功」提示
});

兩條路徑儲存的記錄完全相同——按頁面選,而不是按專案選。文件網站也許保留無 JS 版;帶設計系統的到達頁也許用 fetch 版。如果你希望訪客收到的是個人化報告而不只是一句感謝,FormLM 的評估引擎就在這裡接手:同一筆提交可以觸發計分與帶品牌的 PDF。

常見問題

靜態網站能有真正可用的表單嗎?

能。頁面本身保持靜態——表單的 action 屬性指向一個外部表單端點,由它儲存提交。你的代管上不執行任何伺服器端程式碼,所以 GitHub Pages、Netlify、Vercel、Cloudflare Pages、Neocities 或任何靜態檔案代管都能用。

怎麼在 GitHub Pages 上加表單?

先建立一個表單端點,再把 HTML 表單的 action 屬性設為該端點 URL、method 設為 POST。GitHub Pages 照常服務頁面;提交由端點服務儲存。同樣的步驟適用於任何靜態代管。

沒有 JavaScript 表單也能用嗎?

能。FormLM 的表單端點接收原生 application/x-www-form-urlencoded POST,所以一個帶 action 屬性的純表單元素在 JavaScript 被停用或封鎖時也能運作。只有想在沒有頁面跳轉的情況下處理回應時才需要 JavaScript。

它和 Netlify Forms 有什麼不同?

Netlify Forms 只在你的網站建置並部署於 Netlify 時才能用。表單端點到哪裡都能用——GitHub Pages、任何代管、甚至本機檔案。FormLM 還儲存可透過 API 查詢的結構化記錄,而不只是把提交轉寄到信箱。

送出的資料去了哪裡?

存進你 FormLM 表單的提交記錄。你可以在 FormLM 裡瀏覽、匯出 CSV,並且——如果你開啟 query API——還能經 HTTP 讀回,用於儀表板或自動化。

相關指南

今天就讓你靜態網站的表單上線

免費端點、原生 HTML 支援、真正可查詢的提交。

建立你的免費端點 →