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

如何在Google表单中根据特定下拉选项启用文本输入框?

Google表单实现下拉选项触发显示文本框的解决方案

一、先配置表单的显示规则

  • 打开你的Google表单,找到「Name」下拉列表字段(确保是列表项类型)。
  • 添加一个新的短文本字段,命名为「Enter your name」(用于用户自定义输入姓名)。
  • 点击该短文本字段右下角的「⋮」按钮,选择「显示基于答案的问题」。
  • 设置显示条件:当「Name」字段的选择等于「don't see your name?」时,显示这个短文本框。

二、修改现有代码添加特定选项

你原来的代码需要调整,在从表格获取的姓名列表末尾添加「don't see your name?」选项,确保下拉列表包含该触发选项:

function populateGoogleForms() {
  // 替换为你的Google表单ID
  var form = FormApp.openById("###你的表单ID###");
  var idList = form.getItemById(form.getItems()[0].getId()).asListItem();

  var ss = SpreadsheetApp.getActiveSheet();
  // 获取A列第2行到最后一行的姓名,转为一维数组并过滤空值
  var namesValues = ss.getRange(2, 1, ss.getLastRow() - 1, 1)
    .getValues()
    .flat()
    .filter(name => name.trim() !== "");

  // 添加触发选项到列表末尾
  namesValues.push("don't see your name?");

  // 更新下拉列表的选项
  idList.setChoiceValues(namesValues);
}

代码修改说明

  • 使用flat()将表格返回的二维数组转为一维数组,适配setChoiceValues的参数要求。
  • 用filter()过滤掉A列中的空行,避免下拉列表出现空选项。
  • 用push()添加「don't see your name?」选项,确保它出现在下拉列表中。

三、测试功能

  1. 运行populateGoogleForms函数,更新表单的下拉列表选项。
  2. 在表单预览中测试:
    • 选择普通姓名选项时,「Enter your name」文本框不会显示。
    • 选择「don't see your name?」时,文本框自动显示,可输入自定义姓名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:18:21