Javascript Google表单下拉列表和带有循环的部分
因此,我有一个项目,我正在工作,我需要创建一个谷歌表单的基础上的名称在谷歌表。它基本上需要的流动方式是为工作表中的每个名称创建一个选项,作为第一节中的下拉列表,然后为每个名称创建一个节。当该人员在第一部分中选择其姓名时,应将其发送到名为“其姓名”的部分。例如,名称1应转到标题为名称1的部分,名称2应转到名称2的部分,等等。下面的代码将创建一个Google表单,并使用名称创建部分。引起的问题是,它不会将姓名添加到下拉列表中(它将创建一个没有选项的下拉列表),也不会根据答案设置目的地。有什么想法吗Javascript Google表单下拉列表和带有循环的部分,javascript,forms,loops,google-sheets,add,Javascript,Forms,Loops,Google Sheets,Add,因此,我有一个项目,我正在工作,我需要创建一个谷歌表单的基础上的名称在谷歌表。它基本上需要的流动方式是为工作表中的每个名称创建一个选项,作为第一节中的下拉列表,然后为每个名称创建一个节。当该人员在第一部分中选择其姓名时,应将其发送到名为“其姓名”的部分。例如,名称1应转到标题为名称1的部分,名称2应转到名称2的部分,等等。下面的代码将创建一个Google表单,并使用名称创建部分。引起的问题是,它不会将姓名添加到下拉列表中(它将创建一个没有选项的下拉列表),也不会根据答案设置目的地。有什么想法吗
函数建议表单(){
var form=FormApp.create(‘粉丝推荐表’);
表格.setTitle(“粉丝推荐表”)
.setConfirmationMessage('感谢您的响应!')//稍后设置确认消息
.SetAllowResponsedIts(false)
.setAcceptingResponses(真);
var sheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('教师和电子邮件列表');
var startRow=2;
var numRows=200;
var dataRange=sheet.getRange(startRow,1,numRows,4)
var data=dataRange.getValues();
var whoAreYou=form.addListItem();
你是谁。setTitle('你是谁?')
var nameBreak=[]
var nameChoice=[]
对于(变量i=0;i }
setChoices函数的语法错误。您需要创建一个选择数组,如下所示:
var choices = []
choices[i] = whoAreYou.createChoice(name,form.addPageBreakItem().setTitle(name))
然后,您可以在setChoices方法中使用此数组来设置所有选择
whoAreYou.setChoices(choices)
有关更多详细信息,请查看
下面是包含这些更改的修改代码
function RecommendationForm(){
var form = FormApp.create('FANS Recommendation Form');
//var form = FormApp.openByUrl("https://docs.google.com/forms/d/11oaebH_BeFLAkpGjqs5EykqtNxXXaabuVCTk3uuc12s/edit")
form.setTitle('FANS Recommendation Form')
.setConfirmationMessage('Thanks for responding!')//SET CONFIRMATION MESSAGE LATER
.setAllowResponseEdits(false)
.setAcceptingResponses(true);
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet9');
var startRow = 2;
var numRows = 10;
var dataRange = sheet.getRange(startRow, 1, numRows, 4)
var data = dataRange.getValues();
var whoAreYou = form.addListItem();
whoAreYou.setTitle('Who are you?')
var nameBreak
var nameChoice
var choices = []
var choiceCounter = 0
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var name = row[0];
var recNumber = row[2]
if (name != ""){
if (recNumber != 0){
nameBreak = form.addPageBreakItem().setTitle(name);
nameChoice = name
choices[choiceCounter] = whoAreYou.createChoice(nameChoice,nameBreak) // Create a array of choices with the navigation item
choiceCounter++; // This counter will be independent of i counter and will be have no breaks.
}}
};
whoAreYou.setChoices(choices) //Set Choices with the choice array.
Logger.log(form.getEditUrl())
Logger.log(form.getPublishedUrl())
}
函数建议表单(){
var form=FormApp.create(‘粉丝推荐表’);
//var form=FormApp.openByUrl(“https://docs.google.com/forms/d/11oaebH_BeFLAkpGjqs5EykqtNxXXaabuVCTk3uuc12s/edit")
表格.setTitle(“粉丝推荐表”)
.setConfirmationMessage('感谢您的响应!')//稍后设置确认消息
.SetAllowResponsedIts(false)
.setAcceptingResponses(真);
var sheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet9');
var startRow=2;
var numRows=10;
var dataRange=sheet.getRange(startRow,1,numRows,4)
var data=dataRange.getValues();
var whoAreYou=form.addListItem();
你是谁。setTitle('你是谁?')
变量nameBreak
变量名称选择
var选项=[]
变量choiceCounter=0
对于(变量i=0;i
希望这有帮助 setChoices函数的语法错误。您需要创建一个选择数组,如下所示:
var choices = []
choices[i] = whoAreYou.createChoice(name,form.addPageBreakItem().setTitle(name))
然后,您可以在setChoices方法中使用此数组来设置所有选择
whoAreYou.setChoices(choices)
有关更多详细信息,请查看
下面是包含这些更改的修改代码
function RecommendationForm(){
var form = FormApp.create('FANS Recommendation Form');
//var form = FormApp.openByUrl("https://docs.google.com/forms/d/11oaebH_BeFLAkpGjqs5EykqtNxXXaabuVCTk3uuc12s/edit")
form.setTitle('FANS Recommendation Form')
.setConfirmationMessage('Thanks for responding!')//SET CONFIRMATION MESSAGE LATER
.setAllowResponseEdits(false)
.setAcceptingResponses(true);
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet9');
var startRow = 2;
var numRows = 10;
var dataRange = sheet.getRange(startRow, 1, numRows, 4)
var data = dataRange.getValues();
var whoAreYou = form.addListItem();
whoAreYou.setTitle('Who are you?')
var nameBreak
var nameChoice
var choices = []
var choiceCounter = 0
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var name = row[0];
var recNumber = row[2]
if (name != ""){
if (recNumber != 0){
nameBreak = form.addPageBreakItem().setTitle(name);
nameChoice = name
choices[choiceCounter] = whoAreYou.createChoice(nameChoice,nameBreak) // Create a array of choices with the navigation item
choiceCounter++; // This counter will be independent of i counter and will be have no breaks.
}}
};
whoAreYou.setChoices(choices) //Set Choices with the choice array.
Logger.log(form.getEditUrl())
Logger.log(form.getPublishedUrl())
}
函数建议表单(){
var form=FormApp.create(‘粉丝推荐表’);
//var form=FormApp.openByUrl(“https://docs.google.com/forms/d/11oaebH_BeFLAkpGjqs5EykqtNxXXaabuVCTk3uuc12s/edit")
表格.setTitle(“粉丝推荐表”)
.setConfirmationMessage('感谢您的响应!')//稍后设置确认消息
.SetAllowResponsedIts(false)
.setAcceptingResponses(真);
var sheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet9');
var startRow=2;
var numRows=10;
var dataRange=sheet.getRange(startRow,1,numRows,4)
var data=dataRange.getValues();
var whoAreYou=form.addListItem();
你是谁。setTitle('你是谁?')
变量nameBreak
变量名称选择
var选项=[]
变量choiceCounter=0
对于(变量i=0;i
希望这有帮助