我的表单上有两个提交按钮。一个是普通的提交按钮,它像my-form-submit一样调用-ah-so:
$form['fieldset']['submit'] = array(
'#type' => 'submit',
'#value' => 'Show Applications',
);
我想添加另一个按钮来提交表单,但是调用另一个提交处理程序。有什么办法吗?我看过将
#submit
属性添加到类似-ah-so的元素中:$form['fieldset']['evil_plan'] = array(
'#type' => 'submit',
'#value' => 'Big Red Button',
'#submit' => array('steal_formula_for_icantbeliveitsnotbutter'),
);
希望调用`steal_formula_for_icantbeliveitsnotbutter`函数,但是没有用。当我点击红色大按钮时,通常的`my_form_submit`函数被调用,这使我的计划变成了数以百万计的黄油替代品。谁能为这个黑暗的混乱弄清楚一点?
最佳答案
对于Drupal 5,这是唯一的解决方案:
function my_form_submit($form_id, $form_values) {
if ($form_values['op'] == 'Show Applications') {
// handle 'Show Applications' submission
}
elseif ($form_values['op'] == 'Big Red Button') {
// handle 'Big Red Button' submission
}
}
与
my_form_validate
相同。在Drupal 6中,这可以通过新引入的custom #submit and #validate handlers for form buttons轻松完成。
关于drupal - 如何在Drupal 5表单中添加两个提交按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1411907/