我的最终目标是根据表单用户级别 (lvl)/优先级选择向客户发送自动电子邮件。3 级应在电子邮件模板中发送选定的表格答案。(我假设我对仅用于维护跟踪的 lvl 2 条目有相同的问题)
如果这些问题可能是一个重复的问题,我深表歉意(我的编码经验很少,主要是 VBA),但我已经彻底使用论坛来弄清楚其中的大部分内容,并阅读了HTML SERVICES,不幸的是我必须错过或阅读它,因为我在传递表单答案(由提交触发)和评估 e.range 以获取要从 HTML 模板中选择的数组字符串时遇到问题。
我最终在提交表单时出现以下错误。
" ReferenceError: returnData 未定义 在评估([未知文件]:10:70)在评估([未知文件]:39:3)
在 checkAlert(代码:34:29)
在 onFormSubmit(代码:4:3) "
这是我的代码:
代码.gs
function onFormSubmit(e) {
Logger.log("[METHOD] onFormSubmit");
checkAlert(e.range);
}
function checkAlert(range) {
Logger.log("[METHOD] checkAlert");
var values = range.getValues();
var col = values[0];
var lvl = col[8];
// lvl 0 --> Do nothing
if (lvl == "1" || "2") {
var datetime = col[0]; // Timestamp
var loc = col[1]; // Location
var RAPID = col[2]; // Y/N needs attention
var pumpspec = col[3];
var pumpair = col[4];
var counter = col[5];
var comm = col[6]; // User comments
var conc = col[7]; // User concerns
var sup = "supemail@example.com"; // Field Manager, and Non-routine email
var returnData = [datetime, loc, RAPID, pumpspec, pumpair, counter, comm, conc, lvl, sup];
var html = HtmlService.createTemplateFromFile('2template');
html.data = returnData;
var emailContent = html.evaluate().getContent(); //HTML Output
var sub = "MAINTENANCE ALERT"
MailApp.sendEmail({
to: sup,
subject: sub,
htmlBody: emailContent
});
}
if (lvl == "3") {
var datetime = col[0]; // Timestamp
var loc = col[1]; // Location
var RAPID = col[2]; // YN needs attention
var comm = col[6]; // User comments
var conc = col[7]; // User concerns
var client = "clientemail@example.com";
var returnData = [datetime, loc, RAPID, comm, conc, client, lvl]; //For some reason causing getValues issues
var html = HtmlService.createTemplateFromFile('3template');
html.data = returnData ;
var emailContent = html.evaluate().getContent();
MailApp.sendEmail({
to: client,
subject: "ALERT! Daily Inspections - RED FLAG",
htmlBody: emailContent
});
}
}
3模板.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<h3> A technician has noted an immediate concerning issues:</h3><hr /> \
<p> \
<h1 style='line-height:90%'>Priority level <?= returnData[6] ?> - Location: <?= returnData[1] ?> <br /> \
<span style='font-size:60%'> <?= returnData[0] ?> </span></h1> \
<p><hr /> \
<p> \
<strong>ISSUE:</strong><br /> \
<? returnData[4] ?> \
</p><p> \
<strong>ADDITIONAL INFO:</strong><br /> \
<? returnData[3] ?> \
</p><p> \
<strong>FIELD MANAGER CONTACT INFO:</strong> \
(123) 800-1234, supemail@example.com \
</p>
</body>
<!-- var returnData = [0 datetime, 1 loc, 2 RAPID, 3 comm, 4 conc, 5 client, 6 lvl] -->
</html
我尝试在提交表单时记录“e”,以查看我得到的代码评估结果并返回“[object][Object]”,这一定是一些我不明白的概念错误。感谢您的帮助。