Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). UI Patterns (SDC in Drupal UI) 2.0.18 Minor update available for module ui_patterns (2.0.18). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

Submit Indicator

1 sites No security coverage
View on drupal.org

This module adds visual loading indicators to standard Drupal form submits, similar to how AJAX forms behave. It helps prevent accidental double submissions by showing feedback while the form is being processed on the server, and offers customizable spinner, throbber, or fullscreen loading animations.

Adds AJAX-like loading animations to non-AJAX form buttons

AJAX forms in Drupal display loading indicators (spinners or throbbers) when submitted. This module provides the same functionality for regular form submissions - showing visual feedback during server-side processing and preventing double-submission issues.

The module supports three indicator types:

  1. A css spinner background-image on the button
  2. Drupal's standard AJAX throbber
  3. Drupal's AJAX fullscreen throbber

Configuration

  1. Install and enable the module
  2. Visit Admin / Config / User Interface / Submit Indicator
  3. Choose your default indicator style (spinner, throbber, or fullscreen)
  4. Done - all forms now show feedback on submit

You can also target specific form buttons.

For detailed configuration options, see the README.md.

Features

  • Three indicator types: Spinner overlay on button, Drupal's throbber next to button, or fullscreen overlay
  • Automatic or opt-in: Enable for all forms by default, or only specific forms
  • Form API property: Use #submit_indicator for per-form and per-button control (similar to #ajax)
  • Smart exclusions: Automatically skips AJAX forms, optionally excludes admin pages or specific form IDs
  • CSS customizable: Theme the spinner color and appearance via CSS custom properties

How It Works

When a user clicks a submit button on a non-AJAX form:

  1. The configured indicator (spinner, throbber, or fullscreen) is shown
  2. The button is optionally disabled to prevent double-clicks
  3. If client-side validation fails, the indicator resets immediately
  4. If the form submits successfully, the page navigates and the indicator disappears
  5. A configurable timeout resets the indicator if the page doesn't navigate (handles errors)

Usage: #submit_indicator Property

// Use fullscreen overlay for a form
$form['#submit_indicator'] = ['type' => 'fullscreen'];

// Shorthand - just pass the type
$form['#submit_indicator'] = 'throbber';

// Disable for a specific button
$form['actions']['preview']['#submit_indicator'] = FALSE;

// Disable for entire form
$form['#submit_indicator'] = FALSE;

// Spinner with custom color
$form['actions']['submit']['#submit_indicator'] = [
  'type' => 'spinner',
  'color' => '#000000',
];

Available Options

  • type - 'spinner', 'throbber', or 'fullscreen'
  • color - Hex color for spinner (spinner type only)
  • message - Text shown next to throbber (throbber type only)
  • disableButton - Whether to disable the button (default: true)

Similar Modules

Requirements

  • Drupal 10 or 11

Activity

Total releases
1
First release
Jan 2026
Latest release
5 months ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Active

Releases

Version Type Release date
1.0.x-dev Dev Jan 18, 2026