Как получить значение addElement в переменной?

#php #moodle #quickform

#php #moodle #quickform

Вопрос:

есть ли в moodle php какая-либо возможность принимать username значение в переменной?

Я просто хочу ввести имя пользователя $myUser при загрузке формы.

 $mform->addElement('text', 'username', get_string('forumname', 'forum'), $attributes);
  

Ссылка: — http://docs.moodle.org/dev/lib/formslib.php_Form_Definition#addElement

Комментарии:

1. Что вам нужно сделать с $myuser, как только он у вас будет?

2. @Russell England Мне нужно это значение для onkeyup($myUser); JavaScript.

3. Я предполагаю, что вам, вероятно, следует использовать модуль YUI с вашей формой — docs.moodle.org/dev/YUI/Modules

Ответ №1:

Извне вашей формы:

 $form = new my_form();
$currentdata = (object)array('username' => $user->username);
$form->set_data($currentdata);
  

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

 $form = new my_form(null, array('username' => $user->username));
  

Затем в вашей форме:

 $username = $this->_customdata['username'];
$mform->addElement('text', 'username', get_string('forumname', 'forum'), $attributes);
$mform->setDefault('username', $username);
  

Комментарии:

1. Я не уверен, что предложить, я использую формы moodle каждый день, и то, что я описал выше, всегда работало для меня. Может быть, если вы опубликуете больше кода, либо здесь, либо на moodle.org , тогда кто-нибудь мог бы указать, где вы идете не так.