2012-02-10 9 views
1

コンテンツタイプのフォームにチェックボックスを追加しました。このチェックボックスをオンにすると、送信されたデータの一部を削除したいと思います。どのように私は特定のcontaintタイプのフォームを参照するために、このモジュールを伝えることができdrupalで送信した後にフォームデータを変更する

function my_module_form_alter(&$form, &$form_state) { 
    // ... 
    $form['#submit'][] = 'my_module_form_alter_submit'; 
} 

function my_module_form_alter_submit($form_id, $form_values) { 
    drupal_set_message(t('Submit Function Executed!')); 
} 

:?私は、カスタムモジュール(my_module.module)を作成し、そうするには

また、提出時にデータを削除するにはどうすればよいですか?あなたが提出するコールバック内で$フォームの引数をチェックすることができ、

if(isset($form['#node']) && $form['type']['#value'] == 'page') { 
    $form['#submit'][] = 'my_module_form_alter_submit'; 
} 

のか:

答えて

2

あなたはノード編集フォームを変更していると仮定すると、あなたはどちらかの条件付きで、このような(あなたのhook_form_alter中)としてコールバックを提出する追加することができます同様の方法。

function my_module_form_alter_submit($form, &$form_state) { ... } 

も参照してください:

http://api.drupal.org/api/drupal/developer%21hooks%21core.php/function/hook_form_alter/6

http://api.drupal.org/api/drupal/developer%21topics%21forms_api.html/6

あなたは$ form_id、であるべきで、あなたの提出コールバックのような引数を取るべきhook_form_alterの三番目の引数が欠落しています

0

送信後にデータを削除するには、form_alter関数で、フォームfieでunset()を使用します。 ld。 unset($form['my-field']);

+0

これは問題ではありませんでした。 – doublejosh

関連する問題