如何在脚本运行之前延迟Google表单中的确认页面?

时间:2017-06-05 20:33:39

标签: javascript google-apps-script google-form

我正在修改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的经验,所以如果涉及到那些请详细说明。谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

Google表格不包含内置功能,可以更改已发布的表单行为,例如延迟显示确认页面。

另一种方法是使用UrlFetchApp控制对Google表单应用的POST请求,但这可能会使您的解决方案过度复杂化,以便部署为&#34;生产&#34;。如果您仍想采用这种方式,则应使用HTMLService显示带有自定义表单提交操作的html表单,该操作将模拟已发布的Google表单的表单操作。