drupal form textfield #default_value not working
- by alvin.ng
I am working on a custom module with multi-page form on drupal 6.
I found that #default_value is not working when my '#type' = 'textfield'.
However, when '#type'='textarea', it displays correctly with the '#default_value' specified.
Basically, I wrote a FormFactory to return different form definition ($form) based on the post parameter received. Initially, it returns the display of directories list, user then selects from radio buttos until a specific directory contains a xml file, it will become edit form. The edit form will have text fields display the data (#default_value) inside the xml file, however the type 'textarea' works here rather than 'textfield'.
How can I make my '#default_value' work in this case?
Below is the non-working field definition:
$form['pageset']['newsTitle'] = array(
'#type' => 'textfield',
'#title' => 'News Title',
'#default_value' => "{$element->newsTitle}",
'#rows' => 1,
'#required' => TRUE,
);
Then I changed it to textarea as shown below to make it work:
$form['pageset']['newsTitle'] = array(
'#type' => 'textarea',
'#title' => 'News Title',
'#default_value' => "{$element->newsTitle}",
'#rows' => 1,
'#required' => TRUE,
);