0
function send_xml_form_user_profile_form_alter(&$form, &$form_state){
    $form["#submit"][] = 'send_xml_edit_account_submit_function';
    drupal_set_message('<pre>' . print_r($form['#submit'], TRUE) . '</pre>');
}

function send_xml_edit_account_submit_function($form, &$form_state) {
    drupal_set_message(t("ahoy"));
}

モジュール名はsend_xml.module.

このコードdrupal_set_message('<pre>' . print_r($form['#submit'], TRUE) . '</pre>');は表示されます

Array
(
     [0] => user_profile_form_submit
     [1] => send_xml_edit_account_submit_function
)

しかし、このコードdrupal_set_message(t("ahoy"));は表示されていません...

誰かベルを鳴らしますか?

原因が分からないのはとても困ります... 誰かが前にこれを経験したことがありますか? もしそうなら、あなたの解決策を私に教えてください。どうもありがとうございます!:)

4

2 に答える 2

0

drupal 7 の場合、フォームの変更には 3 つの引数があります。

function hook_form_FORM_ID_alter(&$form, &$form_state, $form_id) {
  // your code
}

これがうまくいくことを願っています...

于 2014-04-04T18:49:06.913 に答える
0

貼り付けたコードで問題ありません。私はそれをテストしましたが、正常に動作します。「アホイ」と表示されます。

提案:

  • Drupal の新規インストールで試してみてください。
  • 送信コールバックの実行を妨げる検証コールバックはありますか?
于 2014-04-04T21:58:11.863 に答える