如何在Moodle中自定义$ mform-> createElement

时间:2019-08-29 07:06:51

标签: php moodle totara

$attr = "onChange = alert('hi');";
$objs = array();
        $objs[] =& $mform->createElement('select', $this->name.'_op', null,  '',$this->get_operators(), $attr);

以上是我的代码,此处未在我的选择框中添加javascript。

实际上,穆德尔文件说第4个参数是值,第5个参数是属性,但是上面的代码第5个参数是值和属性,在任何地方都不起作用。如何自定义createElement函数。

他现在离开的另一个开发人员将moodle和php版本从5.6升级到php 7.1,现在出现了此问题

1 个答案:

答案 0 :(得分:0)

jayavel

您传递的$ attr编号错误,第5个参数是属性参数(根据moodle doc https://docs.moodle.org/dev/lib/formslib.php_Form_Definition#select

更改您的代码

 $objs[] =& $mform->createElement('select', $this->name.'_op', null,  '',$this->get_operators(), $attr);

$objs[] =& $mform->createElement('select', $this->name.'_op', null,  '', $attr);

通过这种方式,您将获得有关选择框数据更改的javascript警报。