首页 > 解决方案 > 已关闭:刷新页面后 Google 表单中的数据消失

问题描述

我使用谷歌电子表格中的数据编写了一个谷歌脚本,它正在创建表单。我正在使用下拉答案选项。代码工作正常,出现所有数据,但有时(3次5次尝试),刷新浏览器页面后,一些问题消失了。每次都是不同的问题,所以具体问题没有问题。有什么问题,我该如何解决?

UPD:已解决。问题出在编译代码时打开的 Google 表单中。

function myFunk(){
    var SHEET_ID = FormApp.getActiveForm().getDestinationId();
    var ss = SpreadsheetApp.openById(SHEET_ID);
    var form = FormApp.getActiveForm();
    var sheets = ss.getSheets();
    var numb = sheets[1].getLastRow();

    var TypeSelect = form.addListItem()
        .setRequired(true);
    var TypeChoices = getData(TypeSelect,sheets[1],1,numb)
    TypeSelect.setChoices(TypeChoices);

    var ClientSelect = form.addListItem()
        .setRequired(true)
    var ClientChoices = getData(ClientSelect, sheets[1],2,numb)
    ClientSelect.setChoices(ClientChoices);

    var phases = ["Start","End"];
    var PhasesChoices=[];
    var PhaseSelect = form.addMultipleChoiceItem()
        .setRequired(true);
    for (var t=0;t<phases.length; t++){
      PhasesChoices.push(PhaseSelect.createChoice(phases[t]));
    }
    PhaseSelect.setChoiceValues(phases);
}

function getData(DataSelect,sheet,numbColumn,lRow){
    var DataChoices = [];
    var DataValues =  sheet.getRange(2,numbColumn,lRow,1).getValues()
         .filter(CheckFull);
    var data = [];
    for(var i = 0; i < DataValues.length; i++) {
      data.push(DataValues[i]);
    }
    for(var j =0; j < data.length; j++) {
      DataChoices.push(DataSelect.createChoice(data[j]));
    }
 return DataChoices;
}

function CheckFull(value){
    return value != '';
}

标签: google-apps-scriptgoogle-forms

解决方案


推荐阅读