0

我正在尝试使用 php(服务器端)修改提交字段的值,以通过邮件发送并写入数据库:

hook_form_alter(&$form, &$form_state, $form_id)

改变价值看起来很容易,但我改变它后什么也没有发生。挂钩有效。

4

2 回答 2

1

hook_form_alter只在表单被渲染之前对其进行操作:

在呈现表单之前执行更改。

看看这个 API 评论,有人给出了一个很好的例子,说明在提交表单后如何做某事。您还需要触发一个_submit($form, &$form_state)动作(链接中的给定帖子指出)。您可以在那里进行所有需要的更改。可以在 API的示例中找到更多描述

于 2010-07-05T13:30:04.670 回答
0
First add a submit action in hook_form_alter and second alter the form_state value in form     submission. 

function custom_form_alter(&$form, &$form_state, $form_id) {
    if ($form_id == 'your-webform-id') {
      $form['#submit'][] = 'xyz_form_submit';
    }
}

function xyz_form_submit($form, &$form_state) {
// here you can edit $form_state value before final submit

}
于 2013-01-11T10:35:47.707 回答