Я работаю над пользовательским модулем с многостраничной формой на drupal 6.
Я обнаружил, что #default_value не работает, когда мое '#type' => 'textfield'.
Однако, когда «#type» => «textarea», он отображается правильно с указанным «#default_value».
По сути, я написал FormFactory для возврата другого определения формы ($ form) на основе полученного параметра post. Первоначально, он возвращает отображение списка каталогов, затем пользователь выбирает из радио-кнопок, пока определенный каталог не содержит файл XML, он станет формой редактирования. Форма редактирования будет иметь текстовые поля, отображающие данные (#default_value) внутри xml-файла, однако здесь работает тип «textarea», а не «текстовое поле».
Как я могу заставить мою '#default_value' работать в этом случае?
Ниже приведено определение нерабочего поля:
$form['pageset']['newsTitle'] = array(
'#type' => 'textfield',
'#title' => 'News Title',
'#default_value' => "{$element->newsTitle}",
'#rows' => 1,
'#required' => TRUE,
);
Затем я изменил его на textarea, как показано ниже, чтобы он работал:
$form['pageset']['newsTitle'] = array(
'#type' => 'textarea',
'#title' => 'News Title',
'#default_value' => "{$element->newsTitle}",
'#rows' => 1,
'#required' => TRUE,
);