Skip to main content

You should use the presave hook provided by webform instead of adding additional submit handlers to the form.

/** * Modify a Webform submission, prior to saving it in the database. * * @param $node * The Webform node on which this submission was made. * @param $submission * The Webform submission that is about to be saved to the database. */ function hook_webform_submission_presave($node, &$submission) { // Update some component's value before it is saved. $component_id = 4; $submission->data[$component_id][0] = 'foo'; }
/**
 * Modify a Webform submission, prior to saving it in the database.
 *
 * @param $node
 *   The Webform node on which this submission was made.
 * @param $submission
 *   The Webform submission that is about to be saved to the database.
 */
function hook_webform_submission_presave($node, &$submission) {
  // Update some component's value before it is saved.
  $component_id = 4;
  $submission->data[$component_id][0] = 'foo';
}

This is a lot cleaner than adding custom submit handlers to the form (your custom handler is called after the webform submission handler, which can be a big part of the problem).

You have access to the node object in the presave hook so additional checks can be added beforre altering the component.

You should use the presave hook provided by webform instead of adding additional submit handlers to the form.

/** * Modify a Webform submission, prior to saving it in the database. * * @param $node * The Webform node on which this submission was made. * @param $submission * The Webform submission that is about to be saved to the database. */ function hook_webform_submission_presave($node, &$submission) { // Update some component's value before it is saved. $component_id = 4; $submission->data[$component_id][0] = 'foo'; }

This is a lot cleaner than adding custom submit handlers to the form (your custom handler is called after the webform submission handler, which can be a big part of the problem).

You have access to the node object in the presave hook so additional checks can be added beforre altering the component.

You should use the presave hook provided by webform instead of adding additional submit handlers to the form.

/**
 * Modify a Webform submission, prior to saving it in the database.
 *
 * @param $node
 *   The Webform node on which this submission was made.
 * @param $submission
 *   The Webform submission that is about to be saved to the database.
 */
function hook_webform_submission_presave($node, &$submission) {
  // Update some component's value before it is saved.
  $component_id = 4;
  $submission->data[$component_id][0] = 'foo';
}

This is a lot cleaner than adding custom submit handlers to the form (your custom handler is called after the webform submission handler, which can be a big part of the problem).

You have access to the node object in the presave hook so additional checks can be added beforre altering the component.

Source Link
JurgenR
  • 2.2k
  • 3
  • 19
  • 31

You should use the presave hook provided by webform instead of adding additional submit handlers to the form.

/** * Modify a Webform submission, prior to saving it in the database. * * @param $node * The Webform node on which this submission was made. * @param $submission * The Webform submission that is about to be saved to the database. */ function hook_webform_submission_presave($node, &$submission) { // Update some component's value before it is saved. $component_id = 4; $submission->data[$component_id][0] = 'foo'; }

This is a lot cleaner than adding custom submit handlers to the form (your custom handler is called after the webform submission handler, which can be a big part of the problem).

You have access to the node object in the presave hook so additional checks can be added beforre altering the component.