/**
* Implements hook_menu().
*/
function simplecalc_menu() {
$items['calc'] = array(
'title' => 'Simple calc',
'page callback' => 'drupal_get_form',
'page arguments' => array('simplecalc_form'),
'access callback' => true,
);
return $items;
}
/**
* Form builder.
*/
function simplecalc_form($form, &$form_state) {
$form['number1'] = array(
'#type' => 'textfield',
'#title' => 'Number 1',
'#default_value' => rand(1, 10),
);
$form['number2'] = array(
'#type' => 'textfield',
'#title' => 'Number 2',
'#default_value' => rand(1, 10),
);
$current_number1_value = isset($form_state['values']['number1']) ? $form_state['values']['number1'] : $form['number1']['#default_value'];
$current_number2_value = isset($form_state['values']['number2']) ? $form_state['values']['number2'] : $form['number2']['#default_value'];
$result = $current_number1_value + $current_number2_value;
$form['result'] = array(
'#markup' => '
Result: ' . $result . '
',
);
$form['calculate'] = array(
'#type' => 'button',
'#value' => 'Calculate',
'#ajax' => array(
'callback' => 'simplecalc_form_ajax_callback',
'wrapper' => 'result',
),
);
return $form;
}
/**
* Ajax callback.
*/
function simplecalc_form_ajax_callback($form, &$form_state) {
return $form['result'];
}