我正在修改Google表单以处理来自我的团队的信息。我希望他们提供有关新项目和现有项目的信息。如果选择“现有项目”,则会显示一个URL以将用户带到另一个表单。如果用户选择了“现有项目”,我希望确认页面仅显示下一个表单的链接。
我知道此网站上的以前答案,并且Google帮助说明您无法动态更改确认通知。但是,我编写了一个函数,它接受用户响应并使用GAS .setConfirmationMessage()更改确认响应。但是,这仅在使用onSubmit触发器时生效,并且现在加载确认页面的速度太快,无法更改当前响应中的信息。
function pageDisplay(){
var form=FormApp.getActiveForm();
var formResponses=form.getResponses();
var lastFormResponse=formResponses.pop();
var itemResponses=lastFormResponse.getItemResponses();
var itemResponse=[]; //initialize array
for (var i=0; i<itemResponses.length; i++){
itemResponse[i]=itemResponses[i].getResponse();
}
switch (itemResponse[0].toString()){
case "Existing Project":
form.setConfirmationMessage("Thank you now please visit URL");
form.setConfirmationMessage(url);
break;
case "New Project":
form.setConfirmationMessage("Thank you for your new information").setShowLinkToRespondAgain(true);
break;
}}
问题:如何在脚本运行之前减慢确认页面的加载速度?这可能吗?
我已经习惯了GAS,但没有HTML或网页JS的经验,所以如果涉及到那些请详细说明。谢谢您的帮助!
答案 0 :(得分:0)
Google表格不包含内置功能,可以更改已发布的表单行为,例如延迟显示确认页面。
另一种方法是使用UrlFetchApp控制对Google表单应用的POST请求,但这可能会使您的解决方案过度复杂化,以便部署为&#34;生产&#34;。如果您仍想采用这种方式,则应使用HTMLService显示带有自定义表单提交操作的html表单,该操作将模拟已发布的Google表单的表单操作。