コンポーネント
← すべてのコンポーネント

二重送信防止

stimeo--submit-once

送信時に送信ボタンを無効化して二重送信を防ぎ、完了で復帰する。

stimeo--submit-once コントローラは送信時にフォームの送信ボタンを無効化して二重送信を防ぎ、ボタンに aria-busy、フォームに data-submitting を付与し、起動した送信ボタンのラベルをビジー文言へ差し替えます(ボタン個別の data-submit-once-busy-label がフォーム既定の busyLabel Value を上書き)。復帰は Turbo の turbo:submit-end(ボタンを再有効化しラベルを戻す)か timeout ミリ秒で行い、 restoreFocus でボタンへフォーカスを戻せます。Rails の disable_with の Headless 上位版で、 stimeo--submit-once:start / :end を発火します。ライブラリは挙動のみで、スピナーは描画しません(Spinner と組み合わせ)。submit-end リスナとタイムアウトは disconnect で破棄し、connect でキャッシュ復元由来のビジー状態を解除するため、ボタンが押せないまま固定されません。

実行中