Javascript 如何延迟谷歌表单中的确认页面直到脚本运行?
我正在修改一个谷歌表单来处理我团队的信息。我希望他们提供有关新项目和现有项目的信息。如果选择了现有项目,它将显示一个URL,将用户带到另一个表单。如果用户选择了“现有项目”,我希望确认页面仅显示下一个表单的链接 我知道之前在这个网站和谷歌帮助中的回答是,你不能动态更改确认通知。但是,我编写了一个函数,它接受用户响应并使用GAS.setConfirmationMessage()更改确认响应。但是,这仅在使用onSubmit触发器时生效,并且确认页面现在加载得太快,无法更改当前响应中的信息Javascript 如何延迟谷歌表单中的确认页面直到脚本运行?,javascript,google-apps-script,google-forms,Javascript,Google Apps Script,Google Forms,我正在修改一个谷歌表单来处理我团队的信息。我希望他们提供有关新项目和现有项目的信息。如果选择了现有项目,它将显示一个URL,将用户带到另一个表单。如果用户选择了“现有项目”,我希望确认页面仅显示下一个表单的链接 我知道之前在这个网站和谷歌帮助中的回答是,你不能动态更改确认通知。但是,我编写了一个函数,它接受用户响应并使用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;
功能页面显示(){
var form=FormApp.getActiveForm();
var formResponses=form.getResponses();
var lastFormResponse=formResponses.pop();
var itemResponses=lastFormResponse.getItemResponses();
var itemResponse=[];//初始化数组
对于(var i=0;igoogleforms没有内置功能来更改已发布表单的行为,例如延迟确认页面的显示
另一种方法是通过使用UrlFetchApp控制对Google表单应用程序的POST请求,但这可能会不必要地使您的解决方案过于复杂,从而部署为“生产”解决方案。如果您仍然希望采用这种方式,则应使用HTMLService显示带有自定义表单提交操作的html表单,该操作将模拟已发布的Google表单的表单操作。我认为这是不可能的。表单提交和确认消息显示的速度取决于internet速度我不敢相信你能做些什么来影响这一切。