0

Question Editing form我通过以下代码在definition()函数中添加了一个下拉列表edit_question_form.php

$mform -> addElement('select', 'qtype', 'Choose type', array('optionOne' => 'Value Option One', 'optionTwo' => 'Value Option Two', 'optionThree' => 'valueOptionThree'), array('id'=>'id_dropdown'));

$mform->addRule('qtype', get_string('error'), 'required', 'server'(default), false, false);

而这个表单的action指向question.php,所以在question.php中,我添加了如下语句:

$qtypeq = required_param('qtype', PARAM_TEXT);

但我收到以下错误:

缺少必需的参数 (qtype)

显然它并没有丢失。

那么任何人都可以建议我为什么会收到这个错误以及我能做些什么来解决它?

4

1 回答 1

2

我要做的第一步是在浏览器中打开开发人员工具,切换到“网络”选项卡,然后准确检查提交表单时发送的参数。

如果'qtype'参数在那个时候肯定存在,那么下一步就是添加一个'var_dump($_REQUEST);' 在 'required_pa​​ram' 行之前(这将输出通过 get 或 post 发送到页面的每个参数)。

如果这不能说明正在发生的事情,那么接下来要做的就是安装 xdebug 并配置您的 IDE 以使用它。然后,您可以在“required_pa​​ram”行上设置一个断点并单步执行,看看到底出了什么问题(顺便说一句,即使您这次不需要它,无论如何也要安装 xdebug,因为它对未来)。

于 2014-07-31T18:35:46.280 回答