Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何延迟谷歌表单中的确认页面直到脚本运行?_Javascript_Google Apps Script_Google Forms - Fatal编程技术网

Javascript 如何延迟谷歌表单中的确认页面直到脚本运行?

Javascript 如何延迟谷歌表单中的确认页面直到脚本运行?,javascript,google-apps-script,google-forms,Javascript,Google Apps Script,Google Forms,我正在修改一个谷歌表单来处理我团队的信息。我希望他们提供有关新项目和现有项目的信息。如果选择了现有项目,它将显示一个URL,将用户带到另一个表单。如果用户选择了“现有项目”,我希望确认页面仅显示下一个表单的链接 我知道之前在这个网站和谷歌帮助中的回答是,你不能动态更改确认通知。但是,我编写了一个函数,它接受用户响应并使用GAS.setConfirmationMessage()更改确认响应。但是,这仅在使用onSubmit触发器时生效,并且确认页面现在加载得太快,无法更改当前响应中的信息

我正在修改一个谷歌表单来处理我团队的信息。我希望他们提供有关新项目和现有项目的信息。如果选择了现有项目,它将显示一个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速度我不敢相信你能做些什么来影响这一切。