Class ItemResponse

ItemResponse

A response to one question item within a form. Item responses can be accessed from FormResponse and created from any Item that asks the respondent to answer a question.

 // 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());
   }
 }
 

Methods

MethodReturn typeBrief description
getFeedback()ObjectGets the feedback that was given for the respondent's submitted answer.
getItem()ItemGets the question item that this response answers.
getResponse()ObjectGets the answer that the respondent submitted.
getScore()ObjectGets the score for the respondent's submitted answer.
setFeedback(feedback)ItemResponseSets the feedback that should be displayed for the respondent's submitted answer.
setScore(score)ItemResponseSets the score for the respondent's submitted answer.

Detailed documentation

getFeedback()

Gets the feedback that was given for the respondent's submitted answer.

Return

Object — a QuizFeedback for the question item


getItem()

Gets the question item that this response answers.

Return

Item — the question item that this response answers


getResponse()

Gets the answer that the respondent submitted. For most types of question items, this returns a String.

For CheckboxItem questions, this returns a String[] array containing the responder's choices. The order of the strings in the array may vary.

For GridItem questions, this returns a String[] array in which the answer at index n corresponds to the question at row n + 1 in the grid. If a respondent did not answer a question in the grid, that answer is returned as ''.

For CheckboxGridItem questions, this returns a String[][] array in which the answers at row index n corresponds to the question at row n + 1 in the checkbox grid. If a respondent did not answer a question in the grid, that answer is returned as ''.

Return

Object — a String or String[] or String[][] of answers to the question item


getScore()

Gets the score for the respondent's submitted answer.

Return

Object — a Double representing the score for the question item


setFeedback(feedback)

Sets the feedback that should be displayed for the respondent's submitted answer.

This method does not actually save the feedback in Forms until Form.submitGrades(responses) is called with the updated FormResponses. See setScore() for an example.

Parameters

NameTypeDescription
feedbackObject

Return

ItemResponse — a ItemResponse for chaining


setScore(score)

Sets the score for the respondent's submitted answer. A null value will clear the existing score.

This method does not actually save the score in Forms until Form.submitGrades(responses) is called with the updated FormResponses.

 // For a multiple choice question with options: "Always true", "Sometimes true", and "Never",
 // award half credit for responses that answered "Sometimes true".
 var formResponses = FormApp.getActiveForm().getResponses();
 // Go through each form response
 for (var i = 0; i < formResponses.length; i++) {
   var response = formResponses[i];
   var items = FormApp.getActiveForm().getItems();
   // Assume it's the first item
   var item = items[0];
   var itemResponse = response.getGradableResponseForItem(item);
   // Give half credit for "Sometimes true".
   if (itemResponse != null && itemResponse.getResponse() == 'Sometimes true') {
     var points = item.asMultipleChoiceItem().getPoints();
     itemResponse.setScore(points * .5);
     // This saves the grade, but does not submit to Forms yet.
     response.withItemGrade(itemResponse);
   }
 }
 // Grades are actually submitted to Forms here.
 FormApp.getActiveForm().submitGrades(formResponses);
 

Parameters

NameTypeDescription
scoreObject

Return

ItemResponse — a ItemResponse for chaining

发送以下问题的反馈:

此网页
Apps Script
Apps Script