ajax_example_autotextfields

7 ajax_example.module ajax_example_autotextfields($form, &$form_state)
8 ajax_example.module ajax_example_autotextfields($form, &$form_state)

Show/hide textfields based on AJAX-enabled checkbox clicks.

Related topics

1 string reference to 'ajax_example_autotextfields'

File

ajax_example/ajax_example.module, line 342
AJAX Examples module file with basic examples.

Code

function ajax_example_autotextfields($form, &$form_state) {

  $form['ask_first_name'] = array(
    '#type' => 'checkbox', 
    '#title' => t('Ask me my first name'), 
    '#ajax' => array(
      'callback' => 'ajax_example_autotextfields_callback', 
      'wrapper' => 'textfields', 
      'effect' => 'fade',
    ),
  );
  $form['ask_last_name'] = array(
    '#type' => 'checkbox', 
    '#title' => t('Ask me my last name'), 
    '#ajax' => array(
      'callback' => 'ajax_example_autotextfields_callback', 
      'wrapper' => 'textfields', 
      'effect' => 'fade',
    ),
  );

  $form['textfields'] = array(
    '#title' => t("Generated text fields for first and last name"), 
    '#prefix' => '<div id="textfields">', 
    '#suffix' => '</div>', 
    '#type' => 'fieldset', 
    '#description' => t('This is where we put automatically generated textfields'),
  );

  // Since checkboxes return TRUE or FALSE, we have to check that
  // $form_state has been filled as well as what it contains.
  if (!empty($form_state['values']['ask_first_name']) && $form_state['values']['ask_first_name']) {
    $form['textfields']['first_name'] = array(
      '#type' => 'textfield', 
      '#title' => t('First Name'),
    );
  }
  if (!empty($form_state['values']['ask_last_name']) && $form_state['values']['ask_last_name']) {
    $form['textfields']['last_name'] = array(
      '#type' => 'textfield', 
      '#title' => t('Last Name'),
    );
  }

  $form['submit'] = array(
    '#type' => 'submit', 
    '#value' => t('Click Me'),
  );

  return $form;
}
Login or register to post comments