Кнопка типа Drupal 7 FAPI не работает - PullRequest
0 голосов
/ 07 марта 2012

Я делаю очень простую форму, где я добавляю кнопку, которая должна выполнять некоторые функции, но она не работает.Хотя кнопка видна на странице, и когда я нажимаю на нее, страница обновляется.Кто-нибудь может увидеть, что не так с этим кодом?

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 ]

1 голос
/ 07 марта 2012

Вам нужен элемент типа submit, если вы хотите запустить обработчик отправки.Из документации :

Когда кнопка нажата, форма будет отправлена ​​в Drupal, где она будет проверена и перестроена. Обработчик отправки не вызывается.

(выделено мной)

0 голосов
/ 15 марта 2012

Попробуйте использовать свойство " # executetes_submit_callback " и установите для него значение ИСТИНА

$form['preview'] = array(

  '#type' => 'button', 
  '#value' => t('Preview'), 
  '#weight' => 19,
  '#executes_submit_callback' => TRUE, // add this line.

);

Удачи

Мухаммед

...