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

以上是我的代码,这里没有在我的选择框中添加javascript。

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

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

4

1 回答 1

0

贾亚维尔

您以错误的数字传递 $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 警报。

于 2019-09-03T15:21:49.787 回答