怎样才能引用的默认“提交”按钮,表格的“的onsubmit”触发另一个动作链接? 谢谢。
例如,具有的onsubmit,
Logger.log('do something');
怎样才能引用的默认“提交”按钮,表格的“的onsubmit”触发另一个动作链接? 谢谢。
例如,具有的onsubmit,
Logger.log('do something');
一个没有。 该表服务不允许超过该产品的任何编程控制。 有一个开放的问题,在这个问题上跟踪这一一般性的主题。 星为“投票”,并获得更新。
但是,你不会丢失。 在电子表格中收到你的表单回复,你可以用一个可安装触发脚本添加到火“在提交表单”。 从那里,你可以做很多事情来提交的数据,包括你想记录......但没有到窗体本身。
这些引用解释的触发器和事件。
而不是添加脚本到电子表格接收从表单回应(如Mogsdad的答案), 我添加了获取由表单提交按钮触发的脚本。
第1步:首先创建一个谷歌表
第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"});
}
第5步:在脚本编辑器的菜单,单击运行 ,或单击工具栏上的播放按钮来测试你的代码(例如确保你的电子邮件)
第6步:在脚本编辑器的菜单上,单击资源- >当前项目的触发器
第7步:选择设置活动 From form
On form submit
第8步:然后从窗体编辑器的菜单上,单击工具- >脚本管理 ,并确保选中脚本
步骤9:尝试的形式。 单击窗体的提交按钮后,您应该收到一封电子邮件。
这是一个古老的答案。
目前(2014年1月),有两种方法的onsubmit。 一种是简单地做一个功能的onsubmit()据称(它不工作对我来说...)只允许当前提交用户许可的情况下有限的一组动作。 您无法访问自己的电子邮件提交,例如,或修改底层形式为下提交。
再有就是上提交,您可以添加和附加到任何功能,做任何你想要在你自己的权限触发。 作为触发的截图在回答上面添加,除了它的第一列显示方法,你形成脚本看起来相同,下一栏写着:从表格,并在第三列选择:在提交。
通常,你的方法将收到一个事件e,谁的e.values是相同的保存在电子表格中的值。 所以
功能formSubmitted(E){...
似乎有其触发代码的两个应用:(1)的形式,(2)链接到表格回复的电子表格。
(1)没有太多一个可以从窗体programmaticly做作为事件不会被发送到功能,如通过Mogsdad和JohnB如上所述。 一个也可以,例如,发送电子邮件“在形式提交”或“开开”,但没有事件对象,一个甚至不能记录有关文件或提交数量或行也不任何东西。
(2)然而,如果电子表格被链接到表格的响应,则触发可以在电子表格中,其中,一个可以访问该事件并且因此行,列,和其它数据进行设定。
从链接响应谷歌电子表格:
Code.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"});
}
欲了解更多信息: https://developers.google.com/apps-script/guides/triggers/events#google_sheets_events
上述JohnB的HOWTO非常出色。 更新(NOV 2017):
许多的上述步骤需要由表单所有者验证/接受。