You are here

function ajax_quiz_form_alter in Quiz 7.5

Same name and namespace in other branches
  1. 8.6 modules/ajax_quiz/ajax_quiz.module \ajax_quiz_form_alter()
  2. 8.5 modules/ajax_quiz/ajax_quiz.module \ajax_quiz_form_alter()
  3. 6.x modules/ajax_quiz/ajax_quiz.module \ajax_quiz_form_alter()

Implements hook_form_alter().

File

modules/ajax_quiz/ajax_quiz.module, line 32
module file for ajax_quiz quiz module

Code

function ajax_quiz_form_alter(&$form, &$form_state, $form_id) {
  $quiz_forms = array(
    'quiz_question_answering_form',
    'quiz_report_form',
  );
  if (in_array($form_id, $quiz_forms) && user_access('access ajax quiz')) {

    // Wrap form.
    $form['#prefix'] = '<div id="ajax-quiz-wrapper">';
    $form['#suffix'] = '</div>';

    // Build ajax array.
    $ajax = array(
      'callback' => 'ajax_quiz_navigate_quiz',
    );

    // Add ajax to each submit button.
    $nav_children = element_children($form['navigation']);
    foreach ($nav_children as $nav_child) {
      if (isset($form['navigation'][$nav_child]['#type']) && $form['navigation'][$nav_child]['#type'] == 'submit') {
        $form['navigation'][$nav_child]['#ajax'] = $ajax;
      }
    }
  }
}