0

送信されたフィールドの値をphp(サーバー側)で変更して、メールで送信し、dbに書き込むようにしています。

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 に答える