Detection of focus changes

Describes how to detect when the focus goes from field to field or to a read-only list.

Detecting focus changes in a singular INPUT or CONSTRUCT

An singular INPUT or CONSTRUCT controls several fields that can get the focus and become current. In order to execute some code when a field gets (or loses) the focus, use the following control blocks:

  • BEFORE FIELD (a specific field (or group of fields) gets the focus)
  • AFTER FIELD (the field (or group of fields) loses focus)

Detecting focus changes in a singular DISPLAY ARRAY

A singular DISPLAY ARRAY controls rows of a list, that can get the focus and become current. In order to execute some code when a row gets (or loses) the focus, use the following control blocks:

  • BEFORE ROW (a new row gets the focus inside a DISPLAY ARRAY or INPUT ARRAY list)
  • AFTER ROW (a row inside a DISPLAY ARRAY or INPUT ARRAY list loses focus)

Detecting focus changes in a singular INPUT ARRAY

An singular INPUT ARRAY controls several fields and rows of a list, that can get the focus and become current. In order to execute some code when a field or a row gets (or loses) the focus, use the following control blocks:

  • BEFORE ROW (a new row gets the focus inside a DISPLAY ARRAY or INPUT ARRAY list)
  • BEFORE FIELD (a specific field (or group of fields) gets the focus)
  • AFTER FIELD (the field (or group of fields) loses focus)
  • AFTER ROW (a row inside a DISPLAY ARRAY or INPUT ARRAY list loses focus)

Detecting focus changes in a DIALOG

A DIALOG interaction block can handle different parts of a form simultaneously. In order to execute some code when a part of the form gets (or loses) the focus, use the following control blocks:

  • BEFORE INPUT (a field of this INPUT or INPUT ARRAY sub-dialog gets the focus and none of its fields had focus before)
  • BEFORE CONSTRUCT (a field of this CONSTRUCT sub-dialog gets the focus and none of its fields had focus before)
  • BEFORE DISPLAY (this DISPLAY ARRAY sub-dialog gets the focus and none of its fields had focus before)
  • BEFORE ROW (a new row gets the focus inside a DISPLAY ARRAY or INPUT ARRAY list)
  • BEFORE FIELD (a specific field (or group of fields) gets the focus)
  • AFTER FIELD (the field (or group of fields) loses focus)
  • AFTER ROW (a row inside a DISPLAY ARRAY or INPUT ARRAY list loses focus)
  • AFTER DISPLAY (this DISPLAY ARRAY sub-dialog loses the focus = focus goes to another sub-dialog)
  • AFTER CONSTRUCT (this CONSTRUCT sub-dialog loses the focus = focus goes to another sub-dialog)
  • AFTER INPUT (this INPUT or INPUT ARRAY sub-dialog loses focus = focus goes to another sub-dialog)

These triggers are also executed by NEXT FIELD.