Files
Oleg Isonen 6d73186a8b fix: Reset Form fields after successful submission (#6583)
After a successful Form submission, a visible Form returns to its
authored field defaults. The newly inserted Form starts blank, so
visitors can send another message without clearing the previous one.

## Checklist
- [x] Call the browser's Form reset after a successful Resource
submission.
- [x] Preserve entered values after failed submissions and keep
Navigation mode behavior unchanged.
- [x] Cover text, selection, and file inputs, including authored
defaults, in focused tests.
- [x] Handle authored fields named `reset` without skipping the reset or
resource refresh.
- [x] Verify Builder Preview and published-site behavior use the same
client path.
- [x] Update the Form guide for the changed behavior.
- [x] Explain the prototype reset call in a short code comment.
- [x] Run focused browser tests, typecheck, formatting, and lint on the
follow-up.
- [x] Verify required CI on the follow-up commit.

The reset test fails when the reset call is removed. The `reset` field
test failed before the review fix. Both pass now.
2026-10-22 15:40:01 +02:00
..

🧩 Core Components

Layout

{% content-ref url="element.md" %} element.md {% endcontent-ref %}

{% content-ref url="slot.md" %} slot.md {% endcontent-ref %}

{% content-ref url="separator.md" %} separator.md {% endcontent-ref %}

Typography

{% content-ref url="text.md" %} text.md {% endcontent-ref %}

{% content-ref url="heading.md" %} heading.md {% endcontent-ref %}

{% content-ref url="paragraph.md" %} paragraph.md {% endcontent-ref %}

{% content-ref url="inline-text.md" %} inline-text.md {% endcontent-ref %}

{% content-ref url="blockquote.md" %} blockquote.md {% endcontent-ref %}

{% content-ref url="code-text.md" %} code-text.md {% endcontent-ref %}

Navigation

{% content-ref url="link.md" %} link.md {% endcontent-ref %}

{% content-ref url="button.md" %} button.md {% endcontent-ref %}

Media

{% content-ref url="image.md" %} image.md {% endcontent-ref %}

{% content-ref url="video.md" %} video.md {% endcontent-ref %}

{% content-ref url="vimeo.md" %} vimeo.md {% endcontent-ref %}

{% content-ref url="vimeo-background-video.md" %} vimeo-background-video.md {% endcontent-ref %}

{% content-ref url="youtube.md" %} youtube.md {% endcontent-ref %}

Forms

{% content-ref url="form.md" %} form.md {% endcontent-ref %}

{% content-ref url="webhook-form.md" %} Webhook Form (deprecated) {% endcontent-ref %}

{% content-ref url="input.md" %} input.md {% endcontent-ref %}

{% content-ref url="textarea.md" %} textarea.md {% endcontent-ref %}

{% content-ref url="label.md" %} label.md {% endcontent-ref %}

{% content-ref url="checkbox.md" %} checkbox.md {% endcontent-ref %}

{% content-ref url="radio-button.md" %} radio-button.md {% endcontent-ref %}

{% content-ref url="select.md" %} select.md {% endcontent-ref %}

Data

{% content-ref url="list.md" %} list.md {% endcontent-ref %}

{% content-ref url="collection.md" %} collection.md {% endcontent-ref %}

{% content-ref url="content-embed.md" %} content-embed.md {% endcontent-ref %}

{% content-ref url="content-block.md" %} content-block.md {% endcontent-ref %}

Embeds

{% content-ref url="html-embed.md" %} html-embed.md {% endcontent-ref %}

{% content-ref url="markdown-embed.md" %} markdown-embed.md {% endcontent-ref %}

Animation

{% content-ref url="animation-group.md" %} animation-group.md {% endcontent-ref %}

{% content-ref url="text-animation.md" %} text-animation.md {% endcontent-ref %}

{% content-ref url="video-animation.md" %} video-animation.md {% endcontent-ref %}

{% content-ref url="stagger-animation.md" %} stagger-animation.md {% endcontent-ref %}

Head / SEO

{% content-ref url="head-slot.md" %} head-slot.md {% endcontent-ref %}

{% content-ref url="json-ld.md" %} 🏷️ JSON-LD {% endcontent-ref %}

XML / Localization

{% content-ref url="xml-node.md" %} xml-node.md {% endcontent-ref %}

{% content-ref url="time.md" %} time.md {% endcontent-ref %}