Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.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 Sheets_Google Forms - Fatal编程技术网

Javascript 谷歌表单提交时调用脚本的更快/更高效的方法

Javascript 谷歌表单提交时调用脚本的更快/更高效的方法,javascript,google-apps-script,google-sheets,google-forms,Javascript,Google Apps Script,Google Sheets,Google Forms,当用户提交表单时,我需要一个Google脚本来运行。我不能在表单提交时使用电子表格中简单的“添加项目触发器”,因为此电子表格附带了多个表单。我目前解决这个问题的方法是。。。大多数时候。我经常遇到服务器错误,我认为这是由于这种效率极低的代码造成的。 有人对如何改进这一点有什么建议吗 var allTriggers = ScriptApp.getProjectTriggers(); for(i=0;i<allTriggers.length;i++) ScriptApp.deleteT

当用户提交表单时,我需要一个Google脚本来运行。我不能在表单提交时使用电子表格中简单的“添加项目触发器”,因为此电子表格附带了多个表单。我目前解决这个问题的方法是。。。大多数时候。我经常遇到服务器错误,我认为这是由于这种效率极低的代码造成的。 有人对如何改进这一点有什么建议吗

var allTriggers = ScriptApp.getProjectTriggers();
for(i=0;i<allTriggers.length;i++) 
    ScriptApp.deleteTrigger(allTriggers[i]);
var form = FormApp.openById('1tFb-_oaGPRvWpdvXz6nx01rk71m-lLQnM5arjbuz3r4');
ScriptApp.newTrigger('sendEmails')
 .forForm(form)
 .onFormSubmit()
 .create();
var allTriggers=ScriptApp.getProjectTriggers();

对于(i=0;i您可以安装一个onFormSubmit(事件)触发器。在事件对象中是添加的单元格范围。从该范围可以获得受影响的工作表,例如“表单响应1”、“表单响应2”等。然后在函数onFormSubmit(事件)中有一个开关

function onFormSubmit(event) {
  switch(event.range.getSheet().getName()) {
    case "Form Response 1":
      // do something
      break;
    case "Form Response 2":
      // do something else
      break;
  }
}

您可以安装一个onFormSubmit(事件)触发器。在事件对象中是添加的单元格范围。从该范围可以获得受影响的工作表,例如“表单响应1”、“表单响应2”等。然后在函数onFormSubmit(事件)中有一个开关

function onFormSubmit(event) {
  switch(event.range.getSheet().getName()) {
    case "Form Response 1":
      // do something
      break;
    case "Form Response 2":
      // do something else
      break;
  }
}

错误消息通常附带一行。您需要包含整个错误消息。适当的做法是包含提交脚本功能的概述。快速连续多次使用应用程序脚本服务可能会导致错误。这可能会导致配额错误。它没有说明这是一个错误ota错误。每天可以安装的触发器数量是有限制的。因此,我不会经常删除和重新安装触发器。当前对触发器创建的限制是20/user/script。可以确定提交的表单。错误消息通常附带一行。您需要包括ole错误消息。适当的做法是包含提交脚本功能的概述。快速连续多次使用应用程序脚本服务可能会发生错误。这可能会导致配额错误。它没有说明这是配额错误。每天可以安装的触发器数量有限制。因此,我我们不会经常删除和重新安装触发器。当前对触发器创建的限制是20/user/script。可以确定提交的表单。