如何在moodle中创建具有值的表单元素

如何在moodle中创建具有值的表单元素,moodle,moodle-api,Moodle,Moodle Api,我试图在moodle中创建一个具有值的表单元素文本。 我尝试以下方法: $mform->addElement('text','test', get_string('test')); 这用于创建文本框。我想增值也一样 <input type='text' value='<?php .... ?>' /> 如何在moodle中实现这一点当您实例化表单时,可以将相关数据传递给它,例如 $form = new my_form(); $formdata = (object

我试图在moodle中创建一个具有值的表单元素文本。 我尝试以下方法:

$mform->addElement('text','test', get_string('test'));
这用于创建文本框。我想增值也一样

<input type='text' value='<?php .... ?>' />

如何在moodle中实现这一点当您实例化表单时,可以将相关数据传递给它,例如

$form = new my_form();
$formdata = (object)array('test' => 'The value to display in the textbox');
$form->set_data($formdata);

通常,传递到表单中的数据是从数据库检索到的一些现有数据。

我不确定您在这里指的是什么类型的数据

例如,如果您想设置用户数据,您正在开发一个编辑现有记录的表单,然后按照Davo的建议在创建表单实例后使用$form->set_data

如果要使用默认值预填充表单,请在表单定义中使用:

$mform->addElement('text','test', get_string('test'));
$mform->setDefault('test', 'your default value');
您可以使用这两种方法,在这种情况下,set_data中的数据将具有优先级