0

我正在创建一个表单,我必须根据数据库中的值(X 个元素、每个元素的属性等)填充“X”表单元素(具体的文本字段)。有没有办法使用 Drupal Form API 来做到这一点,或者我应该从其他地方开始。我尝试在表单生成函数中使用 for() 循环,但这不起作用。请发布您的建议和任何相关链接。

4

1 回答 1

1

当然可以,只需将#default_value 与来自数据库的值放在一起。

$form['text'] = array(
  '#type' => 'textfield',
  '#default_value' => $db->val,
);

编辑 说您有一个问卷对象($questionnaire),其中包含一个名为“question_list”的参数,您在其中存储了所有问题;您可以做的是在列表上运行一个 foreach,例如:

$form['questionnaire'] = array('#type'=>'fieldset','#title'=>$questionnaire->title,);

foreach($questionnaire->question_list as $id=>$question_obj){
 $form['questionnaire']['question_'.$id]=array(
 '#type'=>'textfield',
 '#title'=>$question->question,
 '#default_value'=>$form_state['values']['question_'.$id],
 );

}

最后,您将拥有一个关联数组,其中每个问题都由 'question_'.$id 标识

我希望这就是你要找的。:)

于 2010-10-22T20:36:08.453 回答