The Good, The Bad and The UX

A collection of UX patterns with comparative examples

Back to all examples
Feedback

Submit button loading state

Show loading state on submit buttons to prevent double submissions and provide feedback

buttonloadingformmobile

Bad example

Good example

Disable Submit Button During Loading

Description

When a form is being submitted, the submit button should be disabled and show a loading indicator. This prevents users from accidentally submitting the form multiple times.

Why it matters

  • Prevents duplicate submissions: Avoid creating duplicate records or charging users twice
  • Clear feedback: Users know their action was registered
  • Reduces anxiety: Visual feedback reassures users something is happening

When to apply

  • Form submissions (login, signup, checkout)
  • Any action that triggers an API call
  • Payment processing
  • File uploads

When not to apply

  • Instant local actions (toggling a checkbox)
  • Actions that can safely be repeated (refresh button)

Published on Dec 6, 2025

Explore more examples