2014-10-27 23 views
0

當使用EntityReference字段並在hook_form_alter()中隱藏該字段並使用['access ']比提交後表單$ form_state輸入是空的該字段。

我有場field_to_a這是對內容B型的entityrefence字段引用的內容類型A.

我使用hook_form_alter(),其中我使用像$form['field_to_a']['#access'] = FALSE;的線和該字段也設定爲一定值

當我按下節點添加提交按鈕(我保存按鈕):

  • 當我使用$form['field_to_a']['#access'] = FALSE;:我失去$ form_state [「輸入」] [「field_to_a」(不存在)和$form['field_to_a']['und'][0]['target_id']['#default_value'](empt y),我有PHP錯誤。
  • 當我使用NOT $form['field_to_a']['#access'] = FALSE;時:我有$ form_state ['input'] ['field_to_a']正確,節點保存沒有任何錯誤。

當我使用任何其他字段時,我可以使用['#access'] = FALSE,而不是丟失該字段的$ form_state中的輸入。

有沒有解決方法或解決方法這個東西?這是一個錯誤還是正常行爲?

謝謝

+0

hook_field_attach_form()需要被用作hook_form_alter()失去默認值 – user3563097 2014-10-28 01:26:47

回答

0

首先檢查記錄你收到。

試試這個:

function hook_submit($form, &$form_state) { 
    watchdog("Your Form data ", '<pre>'.print_r($form_state, true).'</pre>'); 
} 

然後檢查你的日誌報告。您將收到價值$form_state['values']

它可以幫助你

相關問題