drupal form textfield #default_value not working

Posted by alvin.ng on Stack Overflow See other posts from Stack Overflow or by alvin.ng
Published on 2009-11-30T13:42:06Z Indexed on 2010/04/28 9:33 UTC
Read the original article Hit count: 293

Filed under:
|
|

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,
                                      );

© Stack Overflow or respective owner

Related posts about drupal-6

Related posts about drupal