Добрый день.
В форме с множеством полей не получается заменить значения value у полей типа checkbox и date_popup .
Делаю на форме :
<?php
$form['#prefix'] = '<div id="epec-sm-wrapper">';
$form['#suffix'] = '</div>';
$form['find']['load'] = array(
'#type' => 'submit',
'#value' => 'V',
'#line_index' => 0,
'#attributes' => array('class' => array('btn-primary')),
'#bootstrap_size_this' => 1,
'#description' => 'Данные по организации',
'#ajax' => array(
'callback' => 'epec_sm_org_ajax_callback',
'wrapper' => 'epec-sm-wrapper',
'method' => 'replace',
'effect' => 'fade',
),
);
/// окончание формирование формы
/**
* Ajax callback.
*/
function epec_sm_org_ajax_callback(&$form, &$form_state) {
return $form;
}
?>
Само изменение значений полей делаю в hook_form_validate :
$form['line1']['proverka']['#value'] = 1;
$form['line3']['dt_open']['#value'] = date( 'Y-m-d');
При этом поля textfield прекрасно изменяются .
В чем прикол?
Комментарии
А rebuild кто будет делать? см. https://www.drupal.org/project/examples
Добавляю явно :
<?php function epec_salman_org_form_submit($form, &$form_state) {
$form_state['rebuild'] = TRUE;
}
?>
Не помогает .
Возвращать надо не $form - а контейнер, в котором происходит замена, а ты всю форму реплэйсишь.
Как то очень широко. Не думашь что отсюда и грабли?
Как то очень широко. Не думашь что отсюда и грабли?>
А кто измеряет ширину и где грань? )))) . Задача стоит заменить по кнопке более 20 элементов на форме. При этом поля типа textfield,select меняются аж бегом. А вот checkbox и date_popup ни в какую.
У чекбоксов нет #value - оно есть только на опциях чекбокса. В вашем случае в $form чекбоксам нужно выставить #default_value
'это всё равно не помогает