首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在谷歌测验表单之间复制项目.getFeedbackForCorrect

在谷歌测验表单之间复制项目.getFeedbackForCorrect
EN

Stack Overflow用户
提问于 2017-05-21 15:57:56
回答 1查看 326关注 0票数 3

.duplicate()方法在表单之间不起作用(据我所知不是这样),所以我编写了一个快速例程,将多项选择项从一个表单复制到另一个表单。

(我这样做是为了在Classroom中设置测验。我在形成性评估的测验中有许多关于单个主题的题库,我想将这些问题中的随机问题组合起来进行终结性评估。)

我写的代码可以很好地复制问题,但不能复制反馈。这是我的第一个GAS代码,很抱歉!

TypeError:在object getFeedbackForCorrect中找不到函数Item。(第32行,文件"Code")

代码语言:javascript
复制
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);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-21 21:41:01

您需要将item1作为多项选择项获取。item上的getFeedbackForCorrect方法不可用。您可以为项目创建一个新变量作为多项选择项目。

代码语言:javascript
复制
var itemAsMultipleChoice;

itemAsMultipleChoice = item1.asMultipleChoiceItem();//Get item as multiple choice item

然后使用新的itemAsMultipleChoice变量;

代码语言:javascript
复制
var feedback1 = itemAsMultipleChoice.getFeedbackForCorrect();

下面是整个函数:

代码语言:javascript
复制
function copyMultipleChoiceItem(item1, item2) {
//  copies MC question item1 to item2 - tested PDW 17/05/20
//  copy of feedback not working
//
//  basic question items
    var itemAsMultipleChoice;

    Logger.log('item1: ' + item1)

    itemAsMultipleChoice = item1.asMultipleChoiceItem();

    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);

    var feedback1 = itemAsMultipleChoice.getFeedbackForCorrect();

    var feedback2 = FormApp.createFeedback()
        .setDisplayText(feedback1.getText());
//  then do list of URLs
    item2.setFeedbackForCorrect(feedback2);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44094496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档