请帮助我。
我正在创建一个新的问题类型(修改gapselect问题)。我的问题渲染器中有一些输入表单(见下面的截图)。在get_expected_data()中我有:
$vars = array();
foreach ($this->places as $place => $notused) {
$vars[$this->field($place)] = PARAM_TEXT;
}
return $vars;
但它只需要数字。
有想法吗,出了什么问题?
输入的HTML代码:
$inputattributes = array(
'type' => 'text',
'name' => $inputname,
'value' => $currentanswer,
'id' => $this->box_id($qa, 'p' . $place),
'size' => 30,
'class' => 'form-control',
);
$input = html_writer::empty_tag('input', $inputattributes);
答案 0 :(得分:1)
检查所有输入的类型是否设为text
而不是number
e.g。
// wrong
$mform->addElement('number', 'email', get_string('email'));
// correct
$mform->addElement('text', 'email', get_string('email'));
或者检查没有与该元素关联的规则来强制执行数字输入。
$mform->addRule('email', get_string('email'), 'numeric', ....