Получить ответ пользователя - PullRequest
0 голосов
/ 05 мая 2018

Пожалуйста, помогите мне.

Я создаю новый тип вопроса (изменяю вопрос в промежутке). У меня есть несколько форм ввода в моем рендерере вопросов (см. Скриншот ниже). В 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);

1 Ответ

0 голосов
/ 05 мая 2018

Убедитесь, что тип установлен на text, а не на number для всех входов

например.

// wrong
$mform->addElement('number', 'email', get_string('email'));
// correct
$mform->addElement('text', 'email', get_string('email'));

В качестве альтернативы проверьте, нет ли правил, связанных с элементом, для принудительного ввода числовых значений.

$mform->addRule('email', get_string('email'), 'numeric', ....
...