【发布时间】:2018-03-21 10:16:39
【问题描述】:
当用户提交表单时,我正在发送电子邮件。这工作得很好,但我现在想检查变量是否为空(用户尚未填充该表单答案)并根据结果对其进行处理。
示例
填充的otherPics 变量如下所示:
http://google-drive-link-1
或
http://google-drive-link-1, http://google-drive-link-2, ...
我想检查变量otherPics 是否为空。如果是,我想用字符串"n/a"替换它,如果它不为空,我想用<br>替换,
代码
function sendEmailNoti(e) {
var timeStamp = e.namedValues["Timestamp"];
var qType = e.namedValues["Query Type"];
var engEmail = e.namedValues["Email address"];
var jID = e.namedValues["ID"];
var DataPic = e.namedValues["Data Image"];
var otherPics = e.namedValues["Other Images"];
var QueryDesc = e.namedValues["Query"];
if (Object.getOwnPropertyNames(otherPics).length === 0) {
otherPics = "n/a"; //var is empty
}
else {
otherPics.replaceText(", ","<br>"); //var is not empty
}
var subject = jID + " - " + qType;
var email = "email@example.com";
var message =
"<strong>" + "EngEmail: " + "</strong><br>" + engEmail + "<br><br>" +
"<strong>" + "Timestamp" + "</strong><br>" + timeStamp + "<br><br>" +
"<strong>" + "Query Type" + "</strong><br>" + qType + "<br><br>" +
"<strong>" + "ID" + "</strong><br>" + jID + "<br><br>" +
"<strong>" + "Data Image" + "</strong><br>" + DataPic + "<br><br>" +
"<strong>" + "Additional Images" + "</strong><br>" + otherPics + "<br><br>" +
"<strong>" + "Query" + "</strong><br>" + QueryDesc + "<br><br>" +
"<br><br><i>foo bar</i>";
MailApp.sendEmail({
to: email,
replyTo: engEmail,
subject: subject,
htmlBody: message
});
}
【问题讨论】:
-
我发誓有一个关于这个的问题,但要回复
Browser.msgBox。无论如何,它链接了这个问题:stackoverflow.com/questions/2588229/… 其中有可以用于这个确切目的的方法。 -
这个问题中的 cmets 可能有用:stackoverflow.com/questions/49391788/… 对于字符串替换,请使用此方法:
string.replace(regex, newStr),即"my old, old string".replace(/old/, "new")产生"my new, new string"而"my old, old string".replace("old", "new")产生"my new, old string"跨度>
标签: google-apps-script google-sheets google-forms