Кнопка типа 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.

);

Удачи

Мухаммед

Другие вопросы по тегам