Google apps script 如果有多个表单向单个电子表格发送响应,google如何知道提交表单时要执行哪个onsubmit触发器
我需要某人的澄清 我知道在新的谷歌表单中,多个表单可以将他们的回复发送到一个电子表格中 因此,我创建了两个谷歌表单,让他们都将回复发送到一个新的谷歌电子表格。然后,我在电子表格中创建了两个脚本(不是表单)。每个脚本都设置为在提交表单时触发。下面是两个简单的脚本Google apps script 如果有多个表单向单个电子表格发送响应,google如何知道提交表单时要执行哪个onsubmit触发器,google-apps-script,Google Apps Script,我需要某人的澄清 我知道在新的谷歌表单中,多个表单可以将他们的回复发送到一个电子表格中 因此,我创建了两个谷歌表单,让他们都将回复发送到一个新的谷歌电子表格。然后,我在电子表格中创建了两个脚本(不是表单)。每个脚本都设置为在提交表单时触发。下面是两个简单的脚本 function form2() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Form Responses 1"); sheet.getR
function form2() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Form Responses 1");
sheet.getRange(sheet.getLastRow(),3).setValue("This is for test 2");
}
function form1() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Form Responses 2");
sheet.getRange(sheet.getLastRow(),3).setValue("This is for test 1");
}
不知何故,谷歌正在为适当的表单运行正确的脚本!这怎么可能?也就是说,当有人提交form1时会自动触发form1(),当有人提交form2时会自动触发form2() 所以我的问题是,“谷歌如何知道在提交表单时运行哪个脚本?” 谢谢。如果可能的话,我想将所有表单数据发送到一个电子表格,但我不想设置不可靠的设置 -杰伊
谢谢你的回答。我想我是在你的帮助下弄明白的。以下是我认为正在发生的事情。如果有人能证实或反驳我的结论,那将对我大有帮助 在谷歌应用程序中创建表单有两种方法
- 直接创建一个表单
- 首先创建电子表格,然后从电子表格的菜单栏中选择“表格”,然后选择“创建表格”,创建表格
Google Drive中的新工作表现在可以接收多个表单的响应,而Google Drive中的旧工作表只能接收一个表单的响应。这最终导致了我的困惑,西基多的答案是正确的。似乎接收电子表格将运行任意多个提交脚本,但无论是一个还是多个脚本,它们都将在电子表格接收的所有表单数据上运行。也就是说,当接收电子表格从任何表格接收表格数据时,电子表格中的所有onsubmit脚本都将被执行。这两个脚本都应该被执行,可能是通过使用文字字符串,更改是不可见的 尝试运行以下更改:
函数形式2(e){
var sheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Form Responses 1');
sheet.getRange(sheet.getLastRow(),3).setValue(e.values);
}
功能表1(e){
var sheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Form Responses 2');
sheet.getRange(sheet.getLastRow(),3).setValue(e.values);
}