2014-09-10 50 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