Save bar
Enable automatic save bar integration for HTML forms by adding the data-save-bar attribute to your form element. When form data changes, a save bar automatically appears, prompting users to save or discard their changes.
Alternatively, use the Save Bar API for programmatic control over the save bar behavior. Programmatic control is available as shopify.saveBar.show(), shopify.saveBar.hide(), and shopify.saveBar.toggle().
Note: The save bar functionality requires the full App Bridge UI library to be loaded via a script tag.
Anchor to AttributesAttributes
Add these attributes to your <form> element to enable save bar integration.
- Anchor to data-discard-confirmationdata-discard-confirmationdata-discard-confirmationbooleanboolean
Shows a confirmation dialog when the discard button is clicked, requiring merchants to confirm before losing their changes. The dialog prevents accidental data loss by adding a second step before reset. Commonly used for forms with significant data entry, multi-step workflows, or when changes cannot be easily recreated.
- Anchor to data-save-bardata-save-bardata-save-barbooleanboolean
Enables automatic save bar integration. When present, the save bar appears whenever any form input value changes from its initial state. The save bar automatically hides when the form is submitted or reset. Commonly used for settings pages, product editors, or any form where merchants need visual feedback about unsaved changes.
- Anchor to onresetonresetonreset(event: Event) => void(event: Event) => void
Handler called when the form is reset via the save bar's discard button. Receives a standard
Eventthat can be prevented withfor custom discard logic. Commonly used for reverting form fields to their original values, clearing temporary state, or confirming discard actions programmatically.- Anchor to onsubmitonsubmitonsubmit(event: SubmitEvent) => void(event: SubmitEvent) => void
Handler called when the form is submitted via the save bar's save button. Receives a standard
that can be prevented withfor custom async save logic. Commonly used for API calls to persist data, form validation before save, or showing success/error toasts after the operation completes.
Anchor to ExamplesExamples
Anchor to Form with automatic save barForm with automatic save bar
Add the data-save-bar attribute to a form to automatically show a save bar when form data changes.
Form with automatic save bar

html
Anchor to Submit and reset handlersSubmit and reset handlers
Handle form submission and reset using standard HTML form events.
Submit and reset handlers

html
Anchor to Discard confirmationDiscard confirmation
Add data-discard-confirmation to show a confirmation dialog when the discard button is clicked, preventing accidental data loss.
Discard confirmation

html
Anchor to Best practicesBest practices
- Always provide discard functionality: Allow merchants to revert changes by handling the discard action or using form reset.
- Show loading states during save: Use the Loading API to indicate when an async save operation is in progress.
- Use
data-discard-confirmationfor destructive forms: Add a confirmation dialog when discarding changes would result in significant data loss.
Anchor to LimitationsLimitations
data-save-bar isn't supported inside modals. Forms inside modals should use the Save Bar API programmatically if save or discard functionality is needed.