function onOpen(e) {
FormApp.getUi()
.createAddonMenu()
.addItem('About', 'showAbout')
.addToUi();
}
function onInstall(e) {
onOpen(e);
}
function testFormSubmit (event) {
try {
//{"response":{},"source":{},"authMode":{},"triggerUid":2146837001}
Logger.log( JSON.stringify(event) );
var responce = event.response;
Logger.log("responce.getId(): -------------");
Logger.log( responce.getId() );
Logger.log("responce.getEditResponseUrl(): ----------------");
Logger.log( responce.getEditResponseUrl() );
var ss = event.source; //Spreadsheet
//Logger.log( event.range.getA1Notation() );
Logger.log("event.range.getRow(): ----------------");
Logger.log( event.range.getRow() );
} catch (err) {
Logger.log(err.toString());
}
}
我有错误:
TypeError:无法调用未定义的方法“getRow”
我已阅读Documentation (triggers/events)和Installable triggers以及Simple triggers 但我仍然不明白我需要做什么才能获得 event.range.getRow() (其他一切正常)
谢谢。
答案 0 :(得分:2)
表单提交驱动有两种触发器:Sheets trigger(使用Sheets脚本编辑器创建)和Forms trigger(使用Forms脚本编辑器创建)。他们的事件对象是不同的。表单触发器具有range
属性,而表单触发器不具有response
属性。您正在使用表单触发器。
如果您需要知道记录条目的行,请使用表格触发器(注意:它不具有app.set('view engine','ejs');
var str = JSON.parse('[{"name":"bill", "age":"26"}, {"name":"jeff", "age":"32"}]');
str.forEach(function(data){
console.log(data.name);
});
app.get('/data', function(req, res){
res.render('data', {str: JSON.stringify(str) });
});
属性)。您链接的文档包含所有这些信息。