Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get the current response onSubmit

Is there any way to find out the current response of the Google Form (programmatically)?

In the onSubmit function.

Looked over their documentation but I have to provide the respondId.

How do I find the respondId?

A snipped code from them about this is:

// Open a form by ID and log the responses to each question.
 var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');
 var formResponses = form.getResponses();
 for (var i = 0; i < formResponses.length; i++) {
   var formResponse = formResponses[i];
   var itemResponses = formResponse.getItemResponses();
   for (var j = 0; j < itemResponses.length; j++) {
     var itemResponse = itemResponses[j];
     Logger.log('Response #%s to the question "%s" was "%s"',
         (i + 1).toString(),
         itemResponse.getItem().getTitle(),
         itemResponse.getResponse());
   }
 }

UPDATE:

function onSubmit(e) {
  /* Get values entered by filling the form */
  var itemResponses = e.response.getItemResponses();
  var myWantedValue = itemResponses[COLUMN_NUMBER].getResponse();
}

Note: By passing the e(vent) as parameter the values can be accessed by submitting the live form, NOT by the script editor!

like image 777
el.severo Avatar asked Feb 08 '14 15:02

el.severo


People also ask

How do I know if my Google form was submitted?

To tell if someone submitted a google form, you can see who submitted it in your Google account or by checking the submissions tab in the form itself.

How do I know if a Google form is editable?

Unfortunately, there isn't a way to tell if the students edited their responses in Google Forms. If this is a feature you'd like to see added to Google Classroom, you can click the "?" in the lower left corner of Google Classroom and send feedback directly to the developers.


1 Answers

This code gives you the values for the last form response, is that what you're looking for ?

function myFunction() {
  var formResponses = FormApp.getActiveForm().getResponses();
  Logger.log(formResponses.length);
  var formResponse = formResponses[formResponses.length-1];
  var itemResponses = formResponse.getItemResponses();
  for (var j = 0; j < itemResponses.length; j++) {
    var itemResponse = itemResponses[j];
    Logger.log('Last response to the question "%s" was "%s"',
               itemResponse.getItem().getTitle(),
               itemResponse.getResponse());
  }
}
like image 178
Serge insas Avatar answered Oct 25 '22 02:10

Serge insas