function ajax_example_wizard_submit

Submit function for ajax_example_wizard.

In AJAX this is only submitted when the final submit button is clicked, but in the non-javascript situation, it is submitted with every button click.

Related topics

1 string reference to 'ajax_example_wizard_submit'
ajax_example_wizard in ajax_example/ajax_example_graceful_degradation.inc
Wizard form.

File

ajax_example/ajax_example_graceful_degradation.inc, line 488

Code

function ajax_example_wizard_submit($form, &$form_state) {
    // Save away the current information.
    $current_step = 'step' . $form_state['storage']['step'];
    if (!empty($form_state['values'][$current_step])) {
        $form_state['storage']['values'][$current_step] = $form_state['values'][$current_step];
    }
    // Increment or decrement the step as needed. Recover values if they exist.
    if ($form_state['triggering_element']['#value'] == t('Next step')) {
        $form_state['storage']['step']++;
        // If values have already been entered for this step, recover them from
        // $form_state['storage'] to pre-populate them.
        $step_name = 'step' . $form_state['storage']['step'];
        if (!empty($form_state['storage']['values'][$step_name])) {
            $form_state['values'][$step_name] = $form_state['storage']['values'][$step_name];
        }
    }
    if ($form_state['triggering_element']['#value'] == t('Previous step')) {
        $form_state['storage']['step']--;
        // Recover our values from $form_state['storage'] to pre-populate them.
        $step_name = 'step' . $form_state['storage']['step'];
        $form_state['values'][$step_name] = $form_state['storage']['values'][$step_name];
    }
    // If they're done, submit.
    if ($form_state['triggering_element']['#value'] == t('Submit your information')) {
        $value_message = t('Your information has been submitted:') . ' ';
        foreach ($form_state['storage']['values'] as $step => $values) {
            $value_message .= "{$step}: ";
            foreach ($values as $key => $value) {
                $value_message .= "{$key}={$value}, ";
            }
        }
        drupal_set_message($value_message);
        $form_state['rebuild'] = FALSE;
        return;
    }
    // Otherwise, we still have work to do.
    $form_state['rebuild'] = TRUE;
}