对于某些要求,我需要传递其他信息以形成提交处理程序.在表单api中,将自定义提交处理程序定义为
$additional_args = array(); $form['#submit'][] = 'my_submit_handler'
我希望提交处理程序为
function my_submit_handler($form,&$form_state,$additional_args){
解决方法
提交处理程序由drupal fapi调用,因此你不能做那样的事情.相反,你可以做的是将你需要的东西添加到$form或$form_state.通常的方法是:
>在表单中添加了一个字段,键入值以存储该值.如果表单定义中包含值,请不要这样做.
$form['store'] = array( '#type' => 'value','#value' => $value );
这将在$form_state [‘values’] [‘store’]中提供.
>将值添加到$form_state [‘storage’],如果要将验证句柄中的变量转移到提交处理程序,请执行以下操作:
// Validation. $form_state['storage']['value'] = $value; ... // Submit $value = $form_state['storage']['value']; // Need to unset stored values when not used anymore. unset($form_state['storage']['value']);