无论我做什么,都会返回" Logger.log(medItemResponse);"的未定义对象。
function updateMedicationNumbers() {
var lastFormResponse = getLastForm();
getMedItemResponse(lastFormResponse);
}
function getLastForm(){
var form = FormApp.getActiveForm();
var formResponseArray = form.getResponses();
var lastFormResponse = formResponseArray[formResponseArray.length-1];
Logger.log(lastFormResponse);
return lastFormResponse;
}
function getMedItemResponse(lastFormResponse){
var responseItems = lastFormResponse.getItemResponses();
Logger.log(responseItems);
for (var i = 0; i < responseItems.length; i++){
var responseItem = responseItems[i].getItem();
if(responseItem.getTitle() == "Individual Meds"){
var medItemResponse = responseItems[i].getResponse();
}
}
Logger.log(medItemResponse);
}
这里是.getResponse();
的文档获取受访者提交的答案。对于大多数类型的问题项,这将返回一个String。对于CheckboxItem问题,这将返回一个String []数组,其中包含响应者的选择。数组中字符串的顺序可能会有所不同。对于GridItem问题,这将返回一个String []数组,其中索引n处的答案对应于网格中第n + 1行的问题。如果受访者未在网格中回答问题,则该答案将返回为&#39;&#39;。对于CheckboxGridItem问题,这将返回一个String [] []数组,其中行索引n处的答案对应于复选框网格中第n + 1行的问题。如果受访者未回答网格中的问题,则该答案将返回为&#39;&#39;
返回
Object - 问题项
的答案的String或String []或String [] []答案 0 :(得分:0)
我用另一种形式尝试了这个并且似乎有效,但我不确定它是否适合你。
function getMedItemResponse(lastFormResponse){
var responseItems = lastFormResponse.getItemResponses();
Logger.log(responseItems);
for (var i = 0; i < responseItems.length; i++){
var responseItem = responseItems[i];
if(responseItem.getItem().getTitle() == "Individual Meds"){
var medItemResponse = responseItems[i].getResponse();
}
}
Logger.log(medItemResponse);
}