2014-09-10 49 views
0

我制作了一个Google表单和一个脚本,用于发送包含表单内容的邮件。如何使用Google Apps脚本在Google表单中考虑空的答案?

有3个字段:A,B,C不是强制性的。 示例:如果我们输入1,5,和8则脚本是写:

A = 1,B = 5,C = 8

问题是,如果B是没有给出(对于A 1和3为C)的值,然后我得到的输出:

A = 1,B = 3,C =

价值观的转变! 我该怎么办?

function sendResponses() { 
var form = FormApp.getActiveForm(); 
var responses = form.getResponses(); 
var lastrow = responses.length - 1; 
var itemResponses = responses[lastrow].getItemResponses(); 
var Total = "A=" + itemResponses[0].getResponse() + ", B=" + itemResponses[1].getResponse() + ", C=" + itemResponses[2].getResponse(), 
} 

谢谢 弗雷德里克

+0

最后一行末尾有一个逗号而不是分号。 'var Total =“A =”+ itemResponses [0]。getResponse()+“,B =”+ itemResponses [1] .getResponse()+“,C =”+ itemResponses [2] .getResponse(),'这是一个错误输入的问题,或者你的代码实际上是什么? – 2014-09-10 20:23:00

+0

谢谢桑迪,但我发现了另一个解决方案,通过循环并使用itemResponse.getItem()。getTitle()获取每个响应的正确标题。 有关信息,代码用于通过电子邮件以HTML格式发送响应,而不是使用其时间戳记logger.log。 – corsican 2014-09-11 08:45:13

+0

那么,它不是Google表单?这是使用HTML服务的HTML表单?如果需要,你能否改正你的答案,并发布正确的答案? – 2014-09-11 14:59:13

回答

0

得到的答复使用命名值,而不是指标......不会有任何可能的混乱。

请参阅documentation here

您可以用FormApp method getTitle()

实例检索项目名称:

e.namedValues {'First Name': ['Jane'], 'Timestamp': ['6/7/2015 20:54:13'], 'Last Name': ['Doe']} An object containing the question names and values from the form submission 

this other post for a full example

0

当我使用此代码,它给我说,你想要的结果:

function sendResponses(e) { 
    var thisResponse = e.response; 
    Logger.log('thisResponse: ' + thisResponse); 

    var itemResponses = thisResponse.getItemResponses(); 
    Logger.log('itemResponses: ' + itemResponses); 

    var Total = "A=" + itemResponses[0].getResponse() + ", B=" + itemResponses[1].getResponse() + ", C=" + itemResponses[2].getResponse(); 
    Logger.log('Total: ' + Total); 
} 

注意,你不需要把所有的表单回复。你的代码检索所有的回复,过去和现在。你可以得到当前的回应。请注意,变量é作为sendResponses功能参数:

function sendResponses(e) { 

我创建了一个表格三个文本字段,并没有放东西的第二场。日志打印这样的:

[14-09-10 16:25:44:265 EDT] thisResponse:FormResponse

[14-09-10 16:25:44:267 EDT] itemResponses: ItemResponse,ItemResponse,ItemResponse

[14-09-10 16:25:44:268 EDT]总计:A = 1,B =,C = C

的功能被触发时的形式已提交:

Form Trigger