1

這已經有一段時間,因爲我做的JavaScript,但我可能只是其與谷歌腳本的問題...JavaScript驗證了谷歌表單/谷歌表

我試圖驗證到谷歌的迴應形成。本質上,我們發出一個表單,要求在網絡研討會結束時提供姓名,電子郵件和代碼字。如果用戶回覆正確,我們希望向他們發送一封包含URL的電子郵件,併發送給有道德信用的表單。如果不正確,我們想向他們發送一封電子郵件,其中包含錯誤的回覆。目前,我可以提取所有數據,但出於某種原因,無法將有效更改爲false ...到目前爲止,我知道「var valid = false」之前的所有內容都適用。有人能告訴我我在這裏做錯了嗎?謝謝。

/* before this section - gets values from separate Google sheet 
    and gets other responses from the Google Form */ 

var submission = itemResponses[2].getResponse(); // gets code word response from form 

var newSubmission = submission.toLowerCase().trim(); // format submission; 

var valid = false; 
var month = ""; 
var url = ""; 


for(var i; i < range.length; i++) { 
    if(range[i][1] == newSubmission) { // range is the range in the spreadsheet. 
             // [i][1] is the second col of selection. 
    valid = !valid; 
    month += range[i][0]; 
    url += range[i][2]; 
    break; 
    } 
} 

之後,它只是發送電子郵件。我確實收到電子郵件,但他們總是作爲錯誤迴應...

+0

我懷疑你的問題,從2件事幹;它可能是您的範圍對象或newSubmission變量的值。您應該嘗試使用Logger.log()記錄它們的值。 –

+0

我曾嘗試Logger.log(),但不幸的是,上述提交的值中的一個需要提交表單,否則將不會繼續執行腳本(在運行或調試器中)。儘管我弄明白了......我忘記了for循環用於JS中的(i = 0 ...)......我已經在Java和C中工作了大約4個月,所以它花了我一段時間以刷新我的記憶。 –

回答

2

如果您想循環啓動,您必須設置一個值爲 更改此行:for(var i; i < range.length ; i ++){(i = 0; i < range.length; i ++){