我正在尝试记录完成并提交Google表单所需的总时间。 我的逻辑很简单,以下代码将记录并将时间戳作为多项选项。 然后在提交表格时,我们得到一个时间戳,但除此之外,我们会得到最初记录的时间戳作为该问题的答案。
这是我可爱的小代码:
function initial() {
var form = FormApp.getActiveForm();
form.getItemById(1589920082).asMultipleChoiceItem().setChoiceValues([new Date()]);
}
我已将触发器设置为OnOpen但令人惊讶的是,每次打开表单时它都不会更新时间戳。从理论上讲,它应该记录表格打开的时间,但我想我在这里遗漏了一些东西。
另一方面,如果我将触发器更改为OnSubmit,它会在每次提交表单时开始记录新的时间戳。但是我不希望这样,因为我们无论如何都要提交提交时间戳。我想要记录的是表格打开的时间。
答案 0 :(得分:1)
不幸的是,当用户打开填写表单时,您无法执行任何代码,因为在这种情况下不应运行onOpen
触发器:
https://developers.google.com/apps-script/guides/triggers/#onopen
当用户打开他或她有权编辑的电子表格,文档,或表单时,onOpen()触发器会自动运行。 (只有在打开表单进行编辑时,触发器才会在响应表单时运行。)
Google问题跟踪器中有一个开放的功能请求,在表单打开以进行响应时会引入某种onOpen
触发器,您可以" star"它使得更有可能出现:https://issuetracker.google.com/issues/63985842
答案 1 :(得分:1)