function ajax_example_dynamic_sections_submit

Submit function for ajax_example_dynamic_sections().

Related topics

File

ajax_example/ajax_example_graceful_degradation.inc, line 297

Code

function ajax_example_dynamic_sections_submit($form, &$form_state) {
    // This is only executed when a button is pressed, not when the AJAXified
    // select is changed.
    // Now handle the case of the next, previous, and submit buttons.
    // Only submit will result in actual submission, all others rebuild.
    switch ($form_state['triggering_element']['#value']) {
        case t('Submit your answer'):
            // Submit: We're done.
            $form_state['rebuild'] = FALSE;
            $answer = $form_state['values']['question'];
            // Special handling for the checkbox.
            if ($answer == 1 && $form['questions_fieldset']['question']['#type'] == 'checkbox') {
                $answer = $form['questions_fieldset']['question']['#title'];
            }
            if ($answer === t('George Washington')) {
                drupal_set_message(t('You got the right answer: @answer', array(
                    '@answer' => $answer,
                )));
            }
            else {
                drupal_set_message(t('Sorry, your answer (@answer) is wrong', array(
                    '@answer' => $answer,
                )));
            }
            return;
        // Any other form element will cause rebuild of the form and present
        // it again.
        case t('Choose'):
            $form_state['values']['question_type_select'] = $form_state['input']['question_type_select'];
        // Fall through.
        default:
            $form_state['rebuild'] = TRUE;
    }
}