2017-06-05 101 views
2

我正在修改Google表单以处理来自我的团队的信息。我希望他们提供有关新项目和现有项目的信息。如果选择现有项目,则会显示一个URL以将用户转到其他表单。如果用户选择了“现有项目”,我希望确认页面仅显示指向下一个表单的链接。如何在脚本运行之前延迟Google表单中的确认页面?

我知道此网站上的以前的答案,并且来自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; 

}}

问题:我怎样才能确认网页的加载速度减慢脚本运行后,直到?这可能吗?

我已经习惯了气体,但没有经验的HTML或网页JS所以请详细,如果它涉及那些。感谢您的帮助!

+1

我不认为这是可能的。提交表格和确认信息的速度取决于互联网速度和用户计算机。我无法相信你将能够做些事情来影响这一点。 –

回答

0

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

一种替代方法是使用UrlFetchApp控制对Google Form应用程序的POST请求,但这可能会使您的解决方案过度复杂化,从而被部署为“生产”。如果您仍希望采用这种方式,则应该使用HTMLService来显示带有自定义表单提交操作的HTML表单,该操作将模拟已发布的Google表单的表单操作。

相关问题