R – drupal form textfield #default_value not working

drupaldrupal-6form-api

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

Best Answer

There should be no difference between a textfield and a textarea form element concerning the usage of the '#default_value' attribute, and both work for me as advertised. So if it does not work in your case, you should check for typos or other differences that might cause the faulty behavior.

Could you edit your question and add your form definition code?

Related Topic