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