2011-02-27 98 views
1

我是編寫Drupal表單的新手,並且在整個過程形式中似乎是最簡單的事情,即在呈現之前將數據放在表單上的textarea中。在使用Drupal 7呈現之前填充表單中的textarea

  • 我使用Drupal的7
  • 我模塊中的所有必要的文件:即.module和.info ..
  • 我用所有這些功能在我hook_submit()但無濟於事。

    Form_state['values'][$myElement=]= $myText; 
    Form_state[$myElement=]= $myText; 
    form_set_value($form[$myElement], t('$myText'), $form_state); 
    
  • 我刷新緩存的每一個嘗試之前:

似乎沒有任何工作。以下是在我提交處理程序:

mForm_submit(){ 
//$form_state['values']['sku_output_fieldset']['sku_output'] = t('$gen_sku_txt'); 
//$form_state['gen_sku']['sku_output_fieldset']['sku_output'] = t('$gen_sku_txt'); 
//$form['sku_output_fieldset']['sku_output']['#value'] = t('$gen_sku_txt'); 
//form_set_value($form['sku_output_fieldset']['sku_output'], t('$gen_sku_txt'), $form_state); 
//form_set_value($form['sku_output'], t('$gen_sku_txt'), $form_state); 
//form_set_value($form['sku_output'], array('rgb' => '123'), $form_state); 
//form_set_value($form['sku_output_fieldset']['sku_output'], array('#default_value' => '123'), $form_state); 
//form_set_value($form['sku_output_fieldset']['sku_output'], array('#value' => '123'), $form_state); 
//form_set_value($form['sku_output_fieldset']['sku_output'], array('value' => '123'), $form_state); 
//form_set_value($form['sku_output_fieldset']['sku_output'], array('default_value' => '123'), $form_state); 

$form_state['rebuild'] = TRUE; 
} 

所有註釋代碼,是我曾嘗試和沒有工作。

回答

0

如果你想在渲染前改變它,你不應該在提交函數中。

您應該使用hook_form_alter(&$form, &$form_state, $form_id)傳入的$form是您可以用來編輯表單的變量。

+0

什麼,我需要做的是後提交更改文本預先填充按鈕被點擊。我的想法是,我從表單中的其他元素獲取值,然後將它們附加到該textarea中的值並顯示它。所以我的猜測是,使用hook_form_alter會改變內容,每次我渲染的形式..不知何故似乎這樣一個簡單的任務矯枉過正...但我會給它一個鏡頭 – 2011-03-16 03:26:25

2

您是在用Drupal 7 Form API構建表單嗎?這就是我插入默認文本到一個Drupal形式的文字區域:

$form['formname_fieldname'] = array(
    '#default_value' => t('Some default text'), 
    '#title' => t('Field Title'), 
    '#type' => 'textarea', 
    '#required' => FALSE, 
    '#rows' => 10, 
); 

你的textarea將與「一些默認的文本」

+0

我已經做了,它工作正常。但我需要做的是在點擊提交按鈕後更改文本。我的想法是,我從表單中的其他元素獲取值,然後將它們附加到該textarea中的值並顯示它。 – 2011-03-16 03:22:30

相關問題