JS-rendered form (SPA)

No <form> exists in the served HTML — JavaScript draws it after load, like a compiled Angular/React/Vue app. This is the case a deploy-time HTML rewrite cannot catch.

How to test: the form below is injected by JS ~0.8s after load. Open DevTools → Network and submit it — you should still see POST /api/forms/{siteId}/spa-contact. Then click “Simulate route change” to re-render the form and confirm capture survives client-side navigation.

Loading app…