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

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

更改价值看起来很容易,但是在我更改后什么都没有发生。钩子起作用。

有帮助吗?

解决方案

hook_form_alter 仅操纵表格 它被渲染:

在渲染表单之前执行更改。

看一下 此API评论, ,在提交表格后,有人给出了一个很好的例子。还有一个 _submit($form, &$form_state) 您需要触发的操作(来自链接点的给定帖子)。您可以在那里进行所有需要的更改。在 例子 来自API

其他提示

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

}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top