Кнопка типа Drupal 7 FAPI не работает
Я делаю очень простую форму, где я добавляю кнопку, которая должна выполнять некоторые функции, но она не работает. Хотя кнопка видна на странице, и когда я нажимаю на нее, страница обновляется. Кто-нибудь может увидеть, что не так с этим кодом?
function donation_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'wedding_article_node_form') {
$form['add_donation'] = array(
'#type' => 'button',
'#submit' => array('donation_add_donation'),
'#value' => t('Add donation'),
);
}
}
function donation_add_donation(&$form, &$form_state) {
dpm('test');
dpm($form);
}
2 ответа
Решение
Тебе необходимо submit
введите элемент, если вы хотите запустить обработчик отправки. Из документации:
Когда кнопка нажата, форма будет отправлена в Drupal, где она будет проверена и перестроена. Обработчик отправки не вызывается.
(акцент мой)
Попробуйте использовать свойство " #executes_submit_callback" и установите для него значение ИСТИНА.
$form['preview'] = array(
'#type' => 'button',
'#value' => t('Preview'),
'#weight' => 19,
'#executes_submit_callback' => TRUE, // add this line.
);
Удачи
Мухаммед