Native HTML Form — Full Lifecycle Test

Events exercised on this page (plt: nat)

flform_load — fires on page load (DOM scan) and again when the injected form is appended (MutationObserver)
fvform_visible — fires once when the primary form scrolls into view (≥50% visible)
fsform_start — fires on first field focus; resets after a successful submit
ffsform_field_start — fires per unique field on first focus
ffcform_field_complete — fires on blur if the field has a value
fvfform_validation_fail — fires when required fields are empty on submit (suppresses fsu)
fsuform_submit — fires ~200ms after submit when no validation errors appear

Step-by-step test flow:

  1. Check DevTools / preview viewer — expect fl for native-contact.
  2. Scroll down until the form is visible — expect fv (once only).
  3. Focus any field — expect fs + ffs.
  4. Type a value and tab away — expect ffc.
  5. Click Fill Valid Values then Submit — expect fsu.
  6. Click Inject Newsletter Form — after ~500ms expect a second fl for native-newsletter.
↓ Scroll to form

Contact Form

Form submitted! fsu should have fired ~200ms after you clicked Submit.

MutationObserver Test (second fl)

Click the button below. After ~500ms a newsletter form is appended to the DOM, triggering fl for native-newsletter via the adapter's MutationObserver.

Where to see events: Key payload fields to verify: t (event type), plt: "nat" (native adapter), fid (form ID), sh (structural hash).