Drupal 7 FAPI类型按钮不起作用

时间:2012-03-06 20:44:05

标签: drupal-7 drupal-modules drupal-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 个答案:

答案 0 :(得分:1)

如果要运行提交处理程序,则需要submit类型元素。来自documentation

  

按下按钮后,表单将提交给Drupal,并在其中进行验证和重建。 不会调用提交处理程序。

(强调我的)

答案 1 :(得分:0)

尝试使用属性“#executes_submit_callback”并将其设置为TRUE

$form['preview'] = array(

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

);

祝你好运

穆罕默德