javascript - 从 Javascript 创建填充的电子邮件
问题描述
我想首先说我不知道我在用 HTML 和 Javascript 做什么,但我正在努力学习。我正在创建的内容不会由任何服务器托管,它更像是一个 HTML 网络表单(我认为这就是我所说的),供员工填写并创建标准化的电子邮件。我有 97% 的工作,但在最后一部分需要一点帮助。以下是有效的Javascript:
function populateEmail() {
let bl = document.getElementById("blurb").value;
let a = document.getElementById("reg").value;
let b = document.getElementById("lvl").value;
let c = document.getElementById("node").value;
let i = document.getElementById("cust").value;
let d = document.getElementById("rea").value;
let e = document.getElementById("ma").value;
let f = document.getElementById("start_dt").value.replace("T", " ");
let g = document.getElementById("poc").value;
let h = document.getElementById("appr").value;
let m_to = "DL-ListOne; DL-ListTwo; DL-ListThree"
let m_cc = "DL-ListFour; DL-ListFive;"
let today = new Date();
let dd = String(today.getDate()).padStart(2, '0');
let mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
let yyyy = today.getFullYear();
today = mm + '/' + dd + '/' + yyyy;
let notify = document.getElementById("notify_lvl").value;
if (notify == "Initial"){
let deap = "Activation ";
}
else if (notify == "Update"){
let deap = "Update ";
}
else{
let deap = "De-Activation ";
}
document.location.href = "mailto:" + encodeURIComponent(m_to) + "?cc=" + encodeURIComponent(m_cc)
+ " &subject=DEAP " + encodeURIComponent(b) + ": Any Region " + today
+ " "
+ "&body="
+ "%0D%0A%0D%0A"
+ encodeURIComponent(bl) + "%0D%0A%0D%0A"
+ "Name: " + encodeURIComponent(a) + "%0D%0A"
+ "Activation – (" + encodeURIComponent(b)
+ "Current Impact = " + encodeURIComponent(c) + " modules, " + encodeURIComponent(i) + " customers) %0D%0A"
+ "Reason: " + encodeURIComponent(d) + "%0D%0A"
+ "Event Geographical Area: " + encodeURIComponent(e) + "%0D%0A"
+ "Event Start: " + encodeURIComponent(f) + "%0D%0A"
+ "POC: " + encodeURIComponent(g) + "%0D%0A"
+ "Approved by: " + encodeURIComponent(h) + "%0D%0A"
}
现在,当我尝试将变量添加deap
到主题行时,它会停止创建电子邮件。这是我尝试添加它的不同方法。
+ " &subject=DEAP " + deap + encodeURIComponent(b) + ": NE Region " + today
+ " &subject=DEAP " + encodeURIComponent(deap) + encodeURIComponent(b) + ": NE Region " + today
然后我想也许我必须在其中添加一些文本或空格才能使其生效所以我尝试 + " " +
在变量之后添加deap
我试图将帖子保持在最低限度,如果您需要我看起来难看的 HTML,我会很乐意发布它,但我仍在尝试弄清楚如何div
从 Javascript 加载,因此我的代码不会 DRY。
提前感谢您的时间
解决方案
这是因为您在声明deap
中if
声明:
if ('notify' == "Initial") {
let deap = "Activation ";
} else if ('notify' == "Update") {
let deap = "Update ";
} else {
let deap = "De-Activation ";
}
console.log(deap);
如果你在外面声明它并在你的if
块内重新分配它,它应该可以工作:
let deap;
if ('notify' == "Initial") {
deap = "Activation ";
} else if ('notify' == "Update") {
deap = "Update ";
} else {
deap = "De-Activation ";
}
console.log(deap)
推荐阅读
- spring-boot - 柑橘模拟器未在浏览器中启动
- spring - 尝试使用 Nginx 和 docker 将 LetsEncrypt 添加到域以进行 Spring 启动时出现未经授权的错误
- javascript - 合并数组对象
- r - 根据 R (dplyr) 中的两个条件进行分组和重命名
- ios - iTunes Connect 抱怨我的 Xamarin Forms 应用程序“Info.plist 中缺少目的字符串”
- android - 如何将选中的复选框值存储在 android studio 的数组列表中?
- mustache - Mustache 文件:将对象数组转换为逗号分隔值列表
- python - 我想用他们的名字创建列表,包括一个变量,但不能这样做,任何人都可以提出一些建议
- javascript - 如何在事件处理程序上运行 jquery 脚本
- salesforce - 如何通过闪电组件向 sendEmail quickaction api 添加附件?