Google apps script 有没有办法让我检查一下“基于答案进入页面”是否在谷歌表单中被选中
使用.setChoices时,它会查找已创建选项的数组。如果是多项选择题,则可以将其格式化为createChoicevalue或createChoicevalue、navigationType 当查看一个选项时,您会输入如下内容:var cPage=chkItem.getChoices[j].getGotoPage; 这将生成页面对象或空值 问题是,当一个问题被设置为基于答案转到页面时,他们没有为每个条目设置页面,并保留默认值以继续,在我的案例cPage中,它也将其读取为null。这意味着如果我想通过每一个选择来捕获它,修改它,然后将它推回问题,那么我推出的结束数组由Null和Objects组成,这会产生一个错误 对于没有页面的问题,我的解决方法是脚本强制更改问题以处理页面导航,但将所有人设置为继续Google apps script 有没有办法让我检查一下“基于答案进入页面”是否在谷歌表单中被选中,google-apps-script,google-forms,Google Apps Script,Google Forms,使用.setChoices时,它会查找已创建选项的数组。如果是多项选择题,则可以将其格式化为createChoicevalue或createChoicevalue、navigationType 当查看一个选项时,您会输入如下内容:var cPage=chkItem.getChoices[j].getGotoPage; 这将生成页面对象或空值 问题是,当一个问题被设置为基于答案转到页面时,他们没有为每个条目设置页面,并保留默认值以继续,在我的案例cPage中,它也将其读取为null。这意味着如果我
我想找到一种方法来检查问题是否已转到基于已检查答案的页面,如果没有,则可以仅使用该值创建选项。算出:我需要检查第一个选项是否具有PageNavigationType。如果是,则选中该框。如果为null,则不检查它。我还没有编写代码来完全测试这一点,但理论应该是可行的。我只检查了goToPage类型,这就是为什么它以前不工作的原因
var choicecount = chkItem.getChoices().length-1;
var hasNavType = chkItem.getChoices()[0].getPageNavigationType(); //if null
for (var j = 0; j <= choicecount; ++j) {
var cValue = chkItem.getChoices()[j].getValue();
var cPage = chkItem.getChoices()[j].getGotoPage();
var cNav = chkItem.getChoices()[j].getPageNavigationType();
// Logger.log(j+" "+cPage);
if (cValue != reValues[0]){
if (hasNavType == null){
newChoices.push(chkItem.createChoice(cValue));
} else {
if (cPage == null){
newChoices.push(chkItem.createChoice(cValue,cNav));
} else {
newChoices.push(chkItem.createChoice(cValue,cPage));
}
}
}
}
如果表单有onEdit或onChange触发器,您可以在每次用户选择后检查状态,但表单唯一的触发器是OPEN、TIME-DRIVEN和SUBMIT。您可以添加自定义菜单,该菜单可以随时运行脚本,但这取决于用户的选择。你的问题似乎和这个一样: