Vin*_*nte 5 google-apps-script google-forms
在我提出问题之前,我想指出我是法国人,所以我的英语可能不好.如果我的问题不明白,我会尝试以更好的方式解释它.
我目前正在使用谷歌脚本来创建表单.在这种形式中,我想问受访者几个多项选择题.为了获得良好和具体的结果,我想根据受访者的个人资料调整我提出的问题.
为了说清楚这是我形式的形状:我首先向受访者询问第一个问题,并提出5个可能的答案.在答案后,被访者将被引导到新的页面.在这个新页面上,有一个新的多项选择题,有2个可能的答案.再一次,根据答案,被访者必须被引导到一个新的页面等等......最后,当我得到我想要的所有细节时,我会向被访者提出准确的问题.最后一页是一个包含大量多项选择题的页面,所有受访者都必须回答,不依赖于他们的个人资料.
我试过用谷歌脚本这样写:
var page1 = form.addPageBreakItem()
.setTitle('First page');
var item = form.addMultipleChoiceItem();
item.setTitle('Question')
.setChoices([
item.createChoice('Yes',page2),
item.createChoice('No',page3)
]);
var page2 = form.addPageBreakItem()
.setTitle('Second page');
var page3 = form.addPageBreakItem()
.setTitle('Third page');
Run Code Online (Sandbox Code Playgroud)
但是由于page1和page3是在page1之后定义的,所以脚本不理解它,并且在答案时无法跳转到page3或page2.我试图先定义我的所有页面,但后来我不知道如何将我的多个答案问题添加到特定页面.
有人能给我一个提示吗?无论如何,感谢阅读,如果不清楚,请不要犹豫,要求更多解释
您只需要更改操作的顺序; 您不需要将操作保持item在一起.这是一个使用您的代码的示例:
function createForm() {
var title = 'Multipage Form Test';
var description = 'Stackoverflow question 17083500';
var form = FormApp.create(title)
.setDescription(description)
.setConfirmationMessage('Thanks for responding!');
var page1 = form.addPageBreakItem()
.setTitle('First page');
var item = form.addMultipleChoiceItem();
var page2 = form.addPageBreakItem()
.setTitle('Second page');
var page3 = form.addPageBreakItem()
.setTitle('Third page');
item.setTitle('Question')
.setChoices([
item.createChoice('Yes',page2),
item.createChoice('No',page3)
]);
Logger.log(form.getEditUrl());
Logger.log(form.getPublishedUrl());
}
Run Code Online (Sandbox Code Playgroud)
从日志中复制"编辑URL",然后检查 - 您会发现该表单具有您要查找的行为:

| 归档时间: |
|
| 查看次数: |
3936 次 |
| 最近记录: |