Drupal表单提交,表单after_build

时间:2010-08-26 18:35:24

标签: php drupal content-management-system drupal-modules

$form['#submit']$form['#after_build']之间的区别是什么?

1 个答案:

答案 0 :(得分:14)

api文档很好地说明了这一点。 $form['#submit']将向表单添加一组提交处理程序:即,当有人单击“提交”按钮时,将调用数组中的函数。这些将在提交后称为

当您调用hook_form_alter()将另一个提交函数添加到您自己没有构建的表单上时,通常会想要使用此属性,就好像您自己在代码中创建表单一样,您还要创建默认的提交处理程序。 Here#submit上的FAPI文档。

$form['#after_build']的类似之处在于它需要调用一系列函数,但是在构建表单以供显示之后它们将被调用。如果您在表单元素中具有默认值或现有值,并且想要在提交之前检查具有该值的某些内容的状态,则可以使用此选项。在构建要显示的表单之后,请参阅FAPI文档以获取在提交之前检查某些内容状态的良好示例。

总而言之,{1}}函数将在提交时被调用,并且在显示表单时将调用$form['#submit']函数。