Drupal模块开发:如何在form_submit和页面处理函数之间进行通信

时间:2010-05-03 19:58:25

标签: forms drupal module drupal-fapi

我正在编写一个模块,我需要从页面处理函数中检索form_submit函数中设置的值。原因是我在页面处理程序的同一页面上呈现表单提交的结果。

我有这个工作,但我使用全局变量,我不喜欢。我希望能够使用$ form_state ['storage'],但不能,因为我无法访问页面处理程序中的$ form_state变量。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

RE:Drupal: How to Render Results of Form on Same Page as Form

您无权访问页面处理程序中的$ form_state,但我认为它可能会自动提供给您的表单构建器功能。看看你是否可以使用类似

之类的东西将其转储出去
function _ncbi_subsites_show_paths_form($form_state) {
  dsm($form_state);
 // everything else
}

另一种可能性,虽然没有比使用全局变量更好,但是可以使用Drupal的variable_set()和variable_get函数。

如果您只处理一个值,则可以将其作为来自提交处理程序中$ form ['#redirect']的URL参数传递给页面。