【发布时间】:2017-10-21 00:38:57
【问题描述】:
.duplicate() 方法在表单之间不起作用(据我所见),因此我编写了一个快速例程将多项选择项从一个表单复制到另一个表单。
(我这样做是为了在Classroom 中设置测验。我在测验中针对单个主题有大量问题用于形成性评估,并希望将这些随机问题组合起来进行总结性评估。)
我编写的代码可以很好地复制问题,但不能复制反馈。这是我的第一个 GAS 代码,非常抱歉!
TypeError:在对象
Item中找不到函数getFeedbackForCorrect。 (第 32 行,文件“代码”)
function copyMultipleChoiceItem(item1, item2) {
// copies MC question item1 to item2 - tested PDW 17/05/20
// copy of feedback not working
//
// basic question items
item2.setTitle(item1.getTitle());
item2.setPoints(item1.asMultipleChoiceItem().getPoints());
item2.setRequired(item1.asMultipleChoiceItem().isRequired());
item2.setHelpText(item1.getHelpText());
// the choices
var choices = item1.asMultipleChoiceItem().getChoices();
for (var i = 0; i < choices.length; i++) {
item2.createChoice(choices[i].getValue(),choices[i].isCorrectAnswer());
}
item2.setChoices(choices);
// the feedback and links - cannot get this to work!
var feedback1 = item1.getFeedbackForCorrect();
var feedback2 = FormApp.createFeedback()
.setDisplayText(feedback1.getText());
// then do list of URLs
item2.setFeedbackForCorrect(feedback2);
}
【问题讨论】:
-
我的回答解决问题了吗?
-
谢谢桑迪 - 太棒了!这里的文档有点不清楚,但我想我现在已经掌握了这些对象的结构。
标签: google-apps-script google-forms google-classroom google-form-quiz