Script Triggers -- Comprehensive Guide

Beginner

Master every FileMaker script trigger: layout-level, field-level, and object-level -- understanding their firing order, use cases, and common gotchas.

What you'll learn

  • All layout-level triggers: OnLayoutEnter, OnLayoutKeystroke, OnRecordLoad, OnRecordCommit, etc.
  • All object-level triggers: OnObjectEnter, OnObjectModify, OnObjectExit, OnObjectValidate
  • Trigger firing order when multiple triggers apply simultaneously
  • Cases where triggers do not fire and how to handle them

Script triggers fire automatically when specific user or system actions occur on a layout. From layout load (OnLayoutEnter) to field exit (OnObjectExit), triggers enable reactive behavior without requiring buttons. But triggers also have a strictly defined firing order, nesting rules, and cases where they do not fire that catch developers off-guard. This comprehensive guide covers all trigger events with their semantics.

1/4
1

Layout-level triggers

Layout triggers fire for events that affect the entire layout context, not a specific field. They are set in Layout Setup -> Script Triggers tab.

FileMaker Script
// Layout triggers:
// OnLayoutEnter    -- fires when navigating TO this layout (from a different layout)
//                    Use for: initialize variables, apply default finds, set mode
// OnLayoutExit     -- fires when navigating AWAY from this layout
//                    Use for: cleanup variables, confirm unsaved changes
// OnLayoutKeystroke -- fires on every keystroke while layout has focus (not in a field)
//                    Use for: keyboard shortcut interceptors
// OnRecordLoad     -- fires each time a different record becomes current (navigate records)
//                    Use for: load record-specific state, check related record counts
// OnRecordCommit   -- fires after a record is saved (committed)
//                    Use for: audit logging, notifications, version capture
// OnRecordRevert   -- fires when a record is reverted (Escape)
// OnModeEnter      -- fires when entering Browse, Find, or Preview mode

Sign in to track your progress and pick up where you left off.

Sign in to FM Dojo