我使用的是Drupal 7,必须使用Form Maker (https://drupal.org/project/drupal-form)模块。因为它不是一个正常的形式,我不知道如何做像Drupal表单提交 Q/A解释的普通形式那样的事情。
这些数据库表格的“提交后行动”的可用选项如下:
有什么办法可以处理提交的表格吗?是否有一种方法可以引用我指定的url中提交的表单的表单状态(例如)备选方案4?(或者通过knowing+referencing (提交的记录)恢复数据的任何机制)。
顺便说一句,我是一个完全的drupal n00b,在表单制造者文档中找不到TFM到R(所以我可以遵循RTM原则)的特殊问题。
发布于 2014-03-06 15:03:31
看起来这个模块仍然使用forms,所以您应该能够使用alter()来修改这些表单。我确信这些表单的I有某种命名约定,这将允许您将更改完全应用于表单生成器表单。
如果您需要自定义表单提交的处理,可以使用#提交表单属性包括您自己的提交处理程序。注意:链接中的示例将提交处理程序添加到表单中的字段,但在大多数情况下,我将提交处理程序添加到表单数组本身。(即$form['#submit'] = array("submit_callback"))
编辑回应评论
在调用form_id ()时不需要引用hook_form_alter()。相反,您可以全局调用它,这将导致drupal调用每个表单上的钩子。正如您从我提供的文档链接中可以看到的那样,$form_id被传递给函数,您可以使用它有条件地修改表单。有关使用示例,请查看文档页上的注释。
除非使用第三方服务嵌入这些表单,否则如果该模块实际上是合法的,它将通过表单API连接其表单。实现hook_form_alter(),并打印传递给函数的form_id。转到有此表单之一的页面,并查看打印的内容。
(而且,form_id_form_alter()不是在特定表单上调用这个钩子的正确语法。应该是hook_form_form_id_alter(),其中钩子是模块名。)
https://stackoverflow.com/questions/22227797
复制相似问题