1

Es ist eine Weile her, seit ich JavaScript gemacht habe, aber ich könnte nur Probleme mit Google Scripts mit ...JavaScript Validierung für Google Formulare/Google Blatt

Ich versuche, eine Antwort auf eine Google zu validieren Bilden. Im Wesentlichen senden wir ein Formular, in dem nach einem Namen, einer E-Mail und einem Codewort gefragt wird, die am Ende eines Webinars angegeben werden. Wenn der Benutzer richtig reagiert, senden wir ihm eine E-Mail mit einer URL an ein Formular mit Ethik-Gutschrift. Wenn sie nicht korrekt sind, senden wir ihnen eine E-Mail mit ihrer falschen Antwort. Derzeit kann ich alle Daten ziehen, aber aus irgendeinem Grund, kann nicht gültig zu falsch ändern ... Bisher weiß ich, dass alles vor "var valid = false" funktioniert. Kann mir jemand sagen, was ich hier falsch mache? Vielen Dank.

/* 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; 
    } 
} 

Danach sendet es nur die E-Mail. Ich bekomme E-Mails, aber sie kommen immer als die falsche Antwort ...

+0

Ich vermute, dass Ihre Probleme von einem von 2 Dingen herrühren; Es könnte Ihr Bereichsobjekt oder der Wert der newSubmission-Variable sein. Sie sollten versuchen, ihre Werte mit Logger.log() zu protokollieren. –

+0

Ich habe versucht, Logger.log(), aber leider eine der oben genannten Werte erfordert eine Formularübergabe und wird das Skript nicht weiter (in Lauf oder Debugger). Ich habe es aber herausgefunden ... Ich habe vergessen, dass for-Schleifen für (i = 0 ...) in JS sind ... Ich arbeite jetzt seit ungefähr 4 Monaten in Java und C, also dauert es eine Weile um mein Gedächtnis aufzufrischen. –

Antwort

2

Sie müssen einen Wert auf i setzen, wenn Sie die Schleife starten möchten ändern Sie diese Zeile: für (var i; i < range.length ; i ++) { von für (var i = 0; i < range.length; i ++) {