google-apps-script - 基于响应的不同确认消息
问题描述
我的谷歌表单只有一个问题要求用户输入 1 到 10 之间的数字。我希望确认消息根据用户选择 1 到 4 或 5 到 10 之间的数字而改变。我只得到第一个回应。
function myFunction() {
var form = FormApp.getActiveForm();
var choice = form.getResponses();
var response;
if (choice<5){
form.setConfirmationMessage('Custom Response 1');
} else {
form.setConfirmationMessage('Custom Repsonse 2');
}
}
解决方案
问题:
这里有两个问题:
第一个与您的代码有关:
choice
不是一个值,而是所有表单响应的数组。要获得最后一个响应的第一个值,假设您的表单只有一个问题,您需要这样做:var choice_value=parseInt(choice[choice.length-1].getItemResponses()[0].getResponse());
第二个与这里
setConfirmationMessage
有很好的解释有关:我们不能有条件地设置并立即根据当前用户的回答显示自定义消息。从某种意义上说,确认消息是“预先加载的”。
不是所需的解决方案,但更接近您想要的:
function myFunction() {
var form = FormApp.getActiveForm();
var choice = form.getResponses();
var choice_value=parseInt(choice[choice.length-1].getItemResponses()[0].getResponse());
var response;
if (choice_value<5){
response = 'Custom Response 1';
} else {
response = 'Custom Response 2';
}
form.setConfirmationMessage(response);
}
此解决方案在提交表单后不会返回正确的响应消息,这不是所需的行为。但这是setConfirmationMessage
功能的局限。据我所知,没有办法根据答案动态设置确认消息。
推荐阅读
- d3.js - D3js Force Link 标签未显示
- python - 使用列表的 Python 程序
- jsp - Servlet doGet 在简单的 get 方法上返回 404?
- spring-boot - JPA 标准构建器相等方法未按预期工作
- reactjs - React 清理功能,有什么问题?
- prometheus - 如何将普罗米修斯标签显示为值?
- python - 将预期颜色列添加到类似热图的图中(seaborn)
- python - Python random.choices() 查询
- telegram - 检测 Telegram 机器人的停止
- android - 如何在持久的底页向上滑动时实现深色透明背景?