You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过脚本设置Google Forms答案的页面跳转及提交规则

Google表单列表选项的跳转与提交逻辑实现

我有一段可正常运行的代码,能从Google表格读取数据更新表单的列表选项,但不知道如何设置选项的跳转规则——除最后一个选项外,其余选项选择后跳转到下一节,最后一个选项选择后直接提交表单。

以下是修改后实现需求的完整代码:

function updateFormChoices() {
  try {
    // 表格信息
    var spreadsheetId = "这里填你的表格ID";
    var sheetName = "Sheet1";
    var columnBValues = getSpreadsheetValues(spreadsheetId, sheetName, "B");

    // 表单信息
    var formId = "这里填你的表单ID";
    var questionTitle = "Which of the following streams do you prefer over the other?"; // 可根据需求修改为中文标题
    
    // 打开目标表单
    var form = FormApp.openById(formId);

    // 获取所有列表类型的题目
    var items = form.getItems(FormApp.ItemType.LIST);
    
    // 根据标题定位目标题目
    var item;
    for (var i = 0; i < items.length; i++) {
      if (items[i].getTitle() === questionTitle) {
        item = items[i].asListItem();
        break;
      }
    }

    // 打印读取到的选项值
    console.log("B列读取到的值: " + columnBValues.join(", "));
    
    // 创建带导航规则的选项
    var choices = [];
    for (var j = 0; j < columnBValues.length; j++) {
      var choice = item.createChoice(columnBValues[j]);
      if (j < columnBValues.length - 1) {
        // 非最后一个选项:选择后跳转到下一节
        choice.getPageNavigationItem().setGoToPage(FormApp.PageNavigationType.CONTINUE);
      } else {
        // 最后一个选项:选择后直接提交表单
        choice.getPageNavigationItem().setGoToPage(FormApp.PageNavigationType.SUBMIT);
      }
      choices.push(choice);
    }

    // 为题目设置带导航的选项
    item.setChoices(choices);
  } catch (error) {
    console.error("错误信息: " + error.toString());
  }
}

function getSpreadsheetValues(spreadsheetId, sheetName, column) {
  var sheet = SpreadsheetApp.openById(spreadsheetId).getSheetByName(sheetName);
  var values = sheet.getRange(column + "1:" + column + sheet.getLastRow()).getValues();
  return values.flat().filter(String); // 扁平化数组并移除空值
}

关键修改说明

  1. 移除了原代码中直接设置选项值的item.setChoiceValues(columnBValues),改为逐个创建带导航规则的选项
  2. 通过循环索引判断,为非最后一个选项配置CONTINUE导航(跳转到下一节),最后一个选项配置SUBMIT导航(提交表单)
  3. 确保表单中已存在对应标题的列表题,且代码拥有访问目标表格和表单的权限

内容的提问来源于stack exchange,提问作者DeJeL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 08:44:58