Value modified with form_alter revert after check_cache
Submitted form values are stored in $form_state['values'], and can be modified in a custom validation function.

So in your custom module, implement hook_form_alter() and add a validation function:

/**
 * Implements hook_form_alter().
 */
function mymodule_form_alter(&amp;$form, &amp;$form_state, $form_id) {
  if ($form_id == 'id_of_form_to_alter') {
    $form['#validate'][] = 'mymodule_custom_form_validate';
  }
}

/**
 * Custom form validation handler.
 */
function mymodule_custom_form_validate(&amp;$form, &amp;$form_state) {

  // Append value to submitted field.
  if (!empty($form_state['values']['myfield'])) {
    $form_state['values']['myfield'] .= ' append this string';
  }
}