AS EVERY EXPERIENCED FILEMAKER DEVELOPER KNOWS (heck, an experienced developer in any language, for that matter), there’s more that one way to do a given task. Usually there are several, each having it’s own pro’s and cons. Alexis Allen’s article on controlling the tab action after choosing a value from a drop down is a classic example:
When a user selects a value from a drop-down list, FileMaker’s expected behaviour is to move the cursor automatically to the next field (or object) in the tab order. If that field also has a drop-down list attached, this will have the effect of activating the list.
Under normal circumstances, this is fine and even desirable. But sometimes you don’t want this to happen, and there is no native option to prevent the cursor from jumping to the next object after a user selects from a list.
Why would you want to do this in the first place? Well, I was creating a global search field at the top of a layout with a drop-down list attached, and a script trigger On Object Save that finds a set of records corresponding to the user’s list selection. I wanted it to stay on the field after the user selected an item from the list, since the interaction is essentially over at that point.
But it kept jumping and selecting the next object in the tab order, which in this case was a tab panel. I could of course remove all non-field objects from the tab order to prevent that, but then it would just jump to a field instead. I wanted it to stay where it was (essentially, do nothing) after the list selection.
Read the whole article (comments included!) to learn several ways to solve this problem.