1

我正在使用drupal 6 上的多页表单自定义模块。我发现当我的'#type' => 'textfield' 时#default_value 不起作用。但是,当 '#type'=>'textarea' 时,它会正确显示并指定 '#default_value'。

基本上,我写了一个 FormFactory 来根据收到的 post 参数返回不同的表单定义($form)。最初,它返回目录列表的显示,然后用户从单选按钮中选择,直到特定目录包含一个xml文件,它将成为编辑表单。编辑表单将有文本字段显示 xml 文件中的数据(#default_value),但是类型“textarea”在这里有效,而不是“textfield”。

在这种情况下,如何使我的“#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,
                                      );
4

2 回答 2

0

关于“#default_value”属性的使用,文本字段和文本区域表单元素之间应该没有区别,并且两者都像宣传的那样对我有用。因此,如果它在您的情况下不起作用,您应该检查可能导致错误行为的拼写错误或其他差异。

您可以编辑您的问题并添加您的表单定义代码吗?

于 2009-11-30T14:26:45.613 回答
0

你用的是什么 Drupal 版本?我在 6.16 上,我的默认行为也很奇怪。就我而言,不适用于文本区域。


我不会说英语,我的 default_value 有非 ascii 字符。它现在使用翻译修复。

于 2010-04-28T09:29:24.193 回答