drupal 6 でマルチページ フォームを使用するカスタム モジュールを作成しています。'#type' => 'textfield' の場合、#default_value が機能しないことがわかりました。ただし、'#type'=>'textarea' の場合は '#default_value' 指定で正しく表示されます。
基本的に、受信した post パラメータに基づいて異なるフォーム定義 ($form) を返す FormFactory を作成しました。最初は、ディレクトリ リストの表示に戻り、ラジオ ボタンから特定のディレクトリに xml ファイルが含まれるまで選択すると、編集フォームになります。編集フォームには、xml ファイル内のデータ (#default_value) を表示するテキスト フィールドがありますが、ここでは「textfield」ではなく「textarea」タイプが機能します。
この場合、「#default_value」を機能させるにはどうすればよいですか?
以下は、非作業フィールドの定義です。
$form['pageset']['newsTitle'] = array(
'#type' => 'textfield',
'#title' => 'News Title',
'#default_value' => "{$element->newsTitle}",
'#rows' => 1,
'#required' => TRUE,
);
次に、以下に示すようにテキストエリアに変更して機能させました。
$form['pageset']['newsTitle'] = array(
'#type' => 'textarea',
'#title' => 'News Title',
'#default_value' => "{$element->newsTitle}",
'#rows' => 1,
'#required' => TRUE,
);