Tech Tip: Use GOTO OBJECT Command to Dynamically Set Next Object in Entry Order
PRODUCT: 4D | VERSION: 19 | PLATFORM: Mac & Win
Published On: December 12, 2022
When it comes to filling out forms on the computer, it is nice to flow from one data-entry object to another for feasible user experience. For example, when a user is done filling out his or her name in a text input box and presses the Tab button, the cursor would automatically be set to the next input. This can be simulated in a 4D application by using the GOTO OBJECT command.
You can use the GOTO OBJECT command to shift the user’s focus to the next data-entry form object or jump to any specified input object.
Example: Jumping from drop-down menu to a specific input box
When the user selects “Other”, the cursor jumps to the next immediate input box:

When the user selects any other item, the cursor jumps to the next question:

Rather than using the POST KEY/POST EVENT commands, the GOTO OBJECT command is more powerful in that you can specify which form object to jump to; moreover, the POST KEY/POST EVENT commands can lead to unintended outcomes, especially with keys commonly used in different contexts.
You can use the GOTO OBJECT command to shift the user’s focus to the next data-entry form object or jump to any specified input object.
Example: Jumping from drop-down menu to a specific input box
// Drop-Down Menu Object Method // after user selects option, jumps to specified input box \ depending on option selected Case of : (Form event code=On Clicked) // user selects option $option:=OBJECT Get pointer(Object named; "dropdownMenu")-> If ($option=4) GOTO OBJECT(*; "Input") // "Other” is chosen, jump to next input box Else GOTO OBJECT(*; "Input1") // any other item is chosen, jump to question #2 End if End case |
When the user selects “Other”, the cursor jumps to the next immediate input box:

When the user selects any other item, the cursor jumps to the next question:

Rather than using the POST KEY/POST EVENT commands, the GOTO OBJECT command is more powerful in that you can specify which form object to jump to; moreover, the POST KEY/POST EVENT commands can lead to unintended outcomes, especially with keys commonly used in different contexts.