You need to enable JavaScript to run this app. Google Form/Appscript 如何按回答跳转分区或实现级联下拉?
优惠活动
大模型
产品
解决方案
定价
更多

Google Form/Appscript 如何按回答跳转分区或实现级联下拉?

Google Form 级联下拉选择需求实现方案

你提出的两个待落地需求均可实现,其中跳转预置分区的备选方案无需代码、完全适配你可视化创建下拉控件的要求,是最优适配方案,具体实现步骤如下:

方案1:基于回答跳转预置分区方案(无代码、推荐)

该方案完全基于Google Form原生功能实现,无需编写任何代码,所有下拉控件均可以通过可视化工具提前创建:

  • 步骤1:创建对应子区域的独立分区
    • 打开你的Google Form,按照现有Area的数量,新增3个独立分区,分别命名为「A1子区域选择」、「A2子区域选择」、「A3子区域选择」
    • 在每个分区内通过可视化工具创建对应Sub-area的下拉选择框,提前预置好匹配的选项:A1分区下拉预置SA1、SA2,A2分区下拉预置SA3,A3分区下拉预置SA4
    • 将所有子区域分区的后续跳转规则统一设置为「提交表单」或你需要的下一个公共分区,避免跳转逻辑混乱
  • 步骤2:配置区域下拉的跳转规则
    • 打开第一个Area下拉的问题编辑页,勾选底部「根据回答跳转至分区」的选项
    • 逐一对每个Area选项配置跳转规则:选择A1跳转至「A1子区域选择」分区,选择A2跳转至「A2子区域选择」分区,选择A3跳转至「A3子区域选择」分区
    • 将Area所在分区的默认后续跳转设置为「提交表单」,避免未选择时出现逻辑错误

配置完成后即可直接测试,用户选择对应区域后会自动进入对应子区域选择页,完全符合你的业务需求。

方案2:动态填充下拉选项方案

注意:Google Form原生不支持用户填写过程中实时修改已有控件的选项,该方案仅适用于表单预填充场景,如果你需要用户填写时实时联动,优先选择方案1。
实现步骤如下:

  • 步骤1:获取表单内下拉控件的ID
    打开Google Form,点击右上角三个点选择「脚本编辑器」,运行以下代码,在执行日志中获取两个下拉问题的ID值:
    function getQuestionIds() {
      const form = FormApp.getActiveForm();
      const allItems = form.getItems();
      allItems.forEach(item => {
        console.log(`问题标题:${item.getTitle()},控件ID:${item.getId()}`);
      })
    }
    
  • 步骤2:编写动态更新选项的脚本
    替换代码中的对应控件ID、区域映射关系后,可按需触发脚本来更新第二个下拉的选项:
    function updateSubAreaOptions(selectedArea) {
      // 区域与子区域的映射关系
      const areaMap = {
        "A1": ["SA1", "SA2"],
        "A2": ["SA3"],
        "A3": ["SA4"]
      }
      const form = FormApp.getActiveForm();
      // 替换为你实际的子区域下拉控件ID
      const subAreaQuestion = form.getItemById(123456789).asListItem();
      subAreaQuestion.setChoiceValues(areaMap[selectedArea] || []);
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 02:36:04