use*_*403 11 google-apps-script google-forms
如何引用默认的"提交"表单按钮以将"onsubmit"触发器与另一个操作相关联?谢谢.
例如,使用onsubmit,
Logger.log('do something');
Run Code Online (Sandbox Code Playgroud)
我没有在接收来自表单的响应的电子表格中添加脚本(如在Mogsdad的答案中),而是添加了一个脚本,该脚本由表单的"提交"按钮触发.
第1步:首先创建一个Google表单

步骤2:然后从菜单中单击工具 - >脚本编辑器

第3步:给你的函数命名onSubmit()

第4步:编写一些代码来发送这样的电子邮件,然后单击"运行"按钮进行测试
function onSubmit() {
MailApp.sendEmail("fred@email.com,alice@email.com",
"Subject",
"A new application has been submitted.\n\n" +
"Here is the link to all Applications:\n" +
"https://docs.google.com/spreadsheets/x/1-fdasjhFAKEfdaahfkhsa/",
{name:"From Name"});
}
Run Code Online (Sandbox Code Playgroud)
步骤5:在脚本编辑器的菜单中,单击运行,或单击工具栏上的播放按钮以测试您的代码(例如,确保您收到电子邮件)

步骤6:在Script Editor的菜单中,单击Resources-> Current project的触发器

第7步:选择设置事件 From form On form submit

步骤8:然后从表单编辑器的菜单中,单击工具 - >脚本管理器,并确保选中您的脚本

第9步:尝试表单.单击表单的提交按钮后,您应该收到一封电子邮件.

这是一个古老的答案.
目前(2014年1月)onSubmit有两种方式.一个是简单地在onSubmit()上创建一个函数,据说它(对我来说不起作用......)只允许在当前提交用户的许可下进行一组有限的操作.例如,您无法访问其提交的电子邮件,也无法修改下一个提交的基础表单.
然后是提交触发器,您可以添加并附加到任何功能,并根据您自己的权限执行任何操作.看起来与上面的答案中添加的触发器的屏幕截图相同,只是它的第一列显示了您在表单脚本中的方法,下一列显示:From-Form和您选择的第三列:On Submit.
通常,您的方法将接收事件e,其e.values与电子表格中保存的值相同.所以
function formSubmitted(e){...
似乎有两个应用程序触发代码:(1)表单和(2)链接到表单响应的电子表格。
(1) 正如上面的 Mogsdad 和 JohnB 所指出的那样,由于事件不会发送到函数,因此无法从表单中以编程方式执行太多操作。例如,您可以发送电子邮件“On form submit”或“On open”,但如果没有事件对象,您甚至无法记录数量或行数,也无法记录有关文档或提交的任何内容。
(2) 但是,如果电子表格链接到表单的响应,则可以在电子表格上设置触发器,在那里可以访问事件,从而访问行、列和其他数据。
来自链接的响应 Google 电子表格:
代码.gs:
function onSpreadsheetSubmit(e) {
var row = e.range.getRow();
MailApp.sendEmail("me@example.com",
"Your subject, rows: "+ row,
"A new application has been submitted on row: "+
row,
{name:"From your friendly spreadsheet"});
}
Run Code Online (Sandbox Code Playgroud)
更多信息:https : //developers.google.com/apps-script/guides/triggers/events#google_sheets_events
| 归档时间: |
|
| 查看次数: |
29541 次 |
| 最近记录: |