Ajax solution in FA is for historical reasons somewhat different from those used in other frameworks. In fact Ajax call on server side is treated nearly identical to normal synchronous POST request. Most normally displayed elements are rendered, and their content is collected in $Ajax singleton variable. In contrast to synchronous call, during ajax request those elements are not sent back to browser unless they are activated by some trigger using Activate method.
There is a couple of Ajax class methods to save various items rendered during the request, addUpdate method is one of such collecting methods, other examples are addScript (for javascript fragments) or addFocus for current focus.
If you only use standard ui helper functions found in files ui_input.php, ui_lists.php etc, and you does not create new helpers you can mostly ignore the collecting methods (eg addUpdate). The only thing you have to do to make some ui element update is to activate it with $Ajax->activate() call. The only parameter of the call is trigger name of the element you want to update. This name is nearly always just the name of underlying input element, or id of label. So, if you have following code:
start_form();
start_table();
text_row('Very important parameter:', 'param')
end_table();
submit('update', 'Update page', true, true);
end_form();
all you have to do to have 'param' input updated after submit button is pressed in ajax mode is adding following in any place of the page code:
if (get_post('update')) {
$Ajax->activate('params');
}
Janusz