我正在做一個非常簡單的形式,我添加一個按鈕應該做一些功能,但它不工作。儘管按鈕在頁面上可見,當我點擊它時,頁面被刷新。任何人都可以看到這段代碼有什麼問題嗎?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);
}
按鈕是不相關的表單的功能。我只想按下按鈕時,執行一個PHP函數 – Nealv 2012-03-07 17:31:19
您必須使用'submit'類型... Drupal不會在'#submit'中爲'button'運行函數,如文件中所述。你可以在表單驗證處理程序中做到這一點,並檢查'$ form_state ['triggering_element']''的$ form_state ['clicked_button']'看看哪個按鈕被按下了。 – Clive 2012-03-07 17:41:12
好的,我沒有理解爲什麼雖然FAPI文檔中可以使用'#submit' - >'按鈕'類型的功能。那爲什麼還有按鈕類型? – Nealv 2012-03-07 23:35:11