gpt4 book ai didi

google-apps-script - 使用 Apps 脚本动态编辑实时 Google 表单中的多项选择选项

转载 作者:行者123 更新时间:2023-12-02 09:04:58 25 4
gpt4 key购买 nike

我是洛杉矶的一名高中老师,正在尝试使用 Apps 脚本创建类(class)注册系统。我需要用于此次注册的 Google 表单:

问题 1) 根据学生当前的回答选择,更新新页面上后续多项选择题中可用的选项。

问题 2)当多项选择选项达到其“上限”时,从表单中消除选择。

问题 1 示例)一名学生在工作坊 1 中注册“打领带”,并被带到一个新页面。该脚本根据学生的第一选择编辑该新页面上的可用选项,并从该新页面上的可能选项列表中删除“打领带”,因此“礼仪”是他们唯一剩下的选项。

问题 2 示例)学生可以注册“打领带”或“礼仪”,这两种答案最初都可以在谷歌表格中找到。 30 名学生参加了调查,全部 30 名学生报名参加“打领带”工作坊。 Apps 脚本引用响应电子表格,意识到“打领带”研讨会已满,然后将其从 Google 表单的可能选择列表中删除。 31号同学去报到,他们唯一的选择就是“礼仪”。

如果我的问题已被提出并得到解答(相信我,我确实进行了搜索!),我将不胜感激重定向。

最佳答案

我相信我们可以毫不费力地实现您的第二个目标,并根据当前的回复状态修改表单。

方法是

  1. 创建表单并将其与响应电子表格关联
  2. 在该响应电子表格中,创建一个带有函数的脚本(例如 updateForm)
  3. 将该函数与 onFormSubmit 事件绑定(bind),请参阅 Using Container-Specific Installable Triggers .
  4. 分析 updateForm 函数中的响应并使用表单服务修改您的表单

例如

function updateForm(e) {
if (e.values[1] == 'Yes') {
Logger.log('Yes');
var existingForm = FormApp.openById('1jYHXD0TBYoKoRUI1mhY4j....yLWGE2vAm_Ux7Twk61c');
Logger.log(existingForm);
var item = existingForm.addMultipleChoiceItem();
item.setTitle('Do you prefer cats or dogs?')
.setChoices([
item.createChoice('Cats'),
item.createChoice('Dogs')
])
.showOtherOption(true);
}
}

说到实现第一个问题的目标,就比较微妙了,因为表单不会中途提交。可能的是根据对多项选择题的不同回答进入不同的页面,您的用例可能适合这种方法,尽管它不是很动态。

还可以使用 html 服务来创建完全动态的体验。

如果您需要更多信息,请告诉我。

关于google-apps-script - 使用 Apps 脚本动态编辑实时 Google 表单中的多项选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18645999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com