On content type called Order have 2 fields - "Category name" (term reference) and "Date" (Date (Unix timestamp)). On node edit form I want to change date to other value (for test purpose it is "hard coded", see code below) on changing "Category name". Ajax fire on "Category name" and "Date" fieldset "fade" but date value still no change.
Code:
function my_module_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'order_node_form') {
// Date (Unix timestamp)
$form['field_date']['#prefix'] = '<div id="field-date-replace">';
$form['field_date']['#suffix'] = '</div>';
// Taxonomy reference select list
$form['field_category_name']['und']['#ajax'] = array(
'callback' => 'category_name_callback',
'wrapper' => 'field-date-replace',
'method' => 'replace',
'effect' => 'fade',
);
if (!empty($form_state['field_category_name']['und'][0]['tid'])) {
$form['field_date']['und'][0]['#default_value']['value'] = strtotime('12/12/2013 00:00:00');
}
// Test - work if uncommented
//$form['field_date']['und'][0]['#default_value']['value'] = strtotime('10/10/2013 00:00:00');
}
}
function category_name_callback(&$form, &$form_state) {
// don't work too
//return $form['field_date'];
return array(
'#type' => 'ajax',
'#commands' => array(
ajax_command_replace("#field-date-replace", render($form['field_date'])),
),
);
}