2015-09-25 27 views
0

我有一個自定義內容類型稱爲事件,其中定義了幾個字段。獲取Drupal窗體API中選定字段的值

該字段名稱是field_store_name。我可以從使用此代碼這些複選框的所有選項:

$form['field_store']['und']['#options'] 

這是我獲得可以選擇的選項(S)/檢查。這是做這件事的正確方法嗎?

$form_state['build_info']['args']['0']->field_store['und'] 

感謝

回答

0

當用戶提交構成您的自定義提交者可以調用。 要自定義表單提交添加到任何形式的你應該使用:

/* Implements hook_form_alter(). */ 
function moduleName_form_alter($form, $form_state) { 
    // ... 
    $form['#submit'][] = 'moduleName_submitterName'; 
    // ... 
} 

所以在定製的提交者,你將有下$ form_state [「值」]所有提交的值:

function moduleName_submitterName($form, $form_state) { 
    dpm($form_state['values']); 
} 

該指數將衝擊片雷管在$ form_state數組中,僅當您提交表單並將包含提交的值。 $ form數組在您更改它們並提交表單之前,仍然會包含表單中顯示的默認值。

瞭解更多:

價值,你需要應該$ form_state [ '值'] [ 'field_store] [' UND'] [0]。

+0

使用這種方式時出現以下錯誤:'注意:未定義索引:值' – farjam

+0

只有當您提交表單幷包含提交的值時,此索引纔會在$ form_state數組中顯示。 $ form數組在您更改它們並提交表單之前,仍然會包含表單中顯示的默認值。所以你應該在表單提交者中使用$ form_state ['values']。以下是表單提交者的示例:https://www.drupal.org/node/717740。要添加自定義提交使用$ form ['#submit'] [] ='moduleName_submitterName'; – VladSavitsky

相關問題