Javascript Google Forms apps脚本按Id访问元素-无响应-赢得';不要在项目中添加选项

Javascript Google Forms apps脚本按Id访问元素-无响应-赢得';不要在项目中添加选项,javascript,google-apps-script,google-forms,Javascript,Google Apps Script,Google Forms,下面是一个绑定到google表单的脚本片段。我试图添加一个选项,但当我打开表单进行编辑时,什么也没有发生。所讨论的MultipleChice对象已经有2个元素 function onOpen(e) { var form = FormApp.getActiveForm(); var ui = FormApp.getUi(); var items = form.getItems(); for (var i in items) { Logger.log(items[i].g

下面是一个绑定到google表单的脚本片段。我试图添加一个选项,但当我打开表单进行编辑时,什么也没有发生。所讨论的MultipleChice对象已经有2个元素

function onOpen(e) { 
  var form = FormApp.getActiveForm();
  var ui = FormApp.getUi();
  var items = form.getItems();

  for (var i in items) {
    Logger.log(items[i].getTitle() + ': ' + items[i].getId());
  }

  var IsNewProject =  form.getItemById(2014691452);
  var newString = 'hey';
  Logger.log(IsNewProject.asMultipleChoiceItem.createChoice(newString))

  Logger.log(IsNewProject.asMultipleChoiceItem().getChoices().toString());
  //ui.alert("things are ok");

}
原木

[16-05-30 16:02:10:107 EDT] Is this a new project?: 2014691452
[16-05-30 16:02:10:124 EDT] Project Title: 1585231066
[16-05-30 16:02:10:147 EDT] Project Description: 15525142
[16-05-30 16:02:10:161 EDT] Project Number: 934022512
[16-05-30 16:02:10:173 EDT] Thematic Priority: 280871288
[16-05-30 16:02:10:186 EDT] Description: 1909468645
[16-05-30 16:02:10:201 EDT] Choice
[16-05-30 16:02:10:226 EDT] Choice,Choice
createChoice()
方法创建一个选项,但不会将其添加到项中。您需要使用
setChoices()
方法,该方法将选项作为参数

var newString = 'Buy Gadgets';

IsNewProject.setChoices([
  IsNewProject.createChoice(newString),
  IsNewProject.createChoice('Buy Widgets')
]);
id
参数必须是整数。您正在使用字符串

目前:

form.getItemById('2014691452');
应该是:

form.getItemById(2014691452);
createChoice()
方法创建一个选项,但不会将其添加到项中。您需要使用
setChoices()
方法,该方法将选项作为参数

var newString = 'Buy Gadgets';

IsNewProject.setChoices([
  IsNewProject.createChoice(newString),
  IsNewProject.createChoice('Buy Widgets')
]);
id
参数必须是整数。您正在使用字符串

目前:

form.getItemById('2014691452');
应该是:

form.getItemById(2014691452);

方法
IsNewProject.asMultipleChoiceItem().getChoices()
返回一个“选项对象”数组,您需要使用
getValue()
获取这些选项的值,请参阅

最终代码:

var choices = IsNewProject.asMultipleChoiceItem().getChoices();
for(var n=0 ; n<choices.length ; n++){
   Logger.log(choices[n].getValue());
}
var choices=IsNewProject.asMultipleChoiceItem().getChoices();

对于(var n=0;n方法
IsNewProject.asMultipleChoiceItem().getChoices()
返回一个“选项对象”数组,您需要使用
getValue()
获取这些选项的值,请参阅

最终代码:

var choices = IsNewProject.asMultipleChoiceItem().getChoices();
for(var n=0 ; n<choices.length ; n++){
   Logger.log(choices[n].getValue());
}
var choices=IsNewProject.asMultipleChoiceItem().getChoices();

for(var n=0;nPerhaps)添加一些logger.log函数以查看何时/是否调用它。@Gerneio question已编辑。可能添加一些logger.log函数以查看何时/是否调用它。@Gerneio question已编辑。恐怕是同一个问题。仍然没有做任何事情。恐怕是同一个问题。仍然没有做任何事情。