我正在做一个非常简单的形式,我添加一个按钮应该做一些功能,但它不工作。尽管按钮在页面上可见,当我点击它时,页面被刷新。任何人都可以看到这段代码有什么问题吗?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