Javascript 如何从静态输入文本创建电子邮件正文?
我想在静态页面上创建一个文本输入表单,并使用mailto选项将其转换为电子邮件正文。例如,以下内容将从文本框中获取输入Javascript 如何从静态输入文本创建电子邮件正文?,javascript,html,Javascript,Html,我想在静态页面上创建一个文本输入表单,并使用mailto选项将其转换为电子邮件正文。例如,以下内容将从文本框中获取输入 <form action="/action_page.php"> First name:<br> <input type="text" name="firstname" value="Mickey"><br> Last name:<br> <input type="text" name="last
<form action="/action_page.php">
First name:<br>
<input type="text" name="firstname" value="Mickey"><br>
Last name:<br>
<input type="text" name="lastname" value="Mouse"><br><br>
<input type="submit" value="Submit">
</form>
我花了些时间为你收集了一些答案。我希望您能花点时间阅读提供的每个链接 首先,您希望获得以下信息: 我曾经为mailto中使用的一些常量设置默认值:
const {
recipientName = "ABC", recipientAddress = "abc@123.yes",
subject = "Some mailz for youz", senderName = "XYZ",
firstname = "first", lastname = "last"
} = formToJSON(document.querySelectorAll("form input:not([type='submit'])"))
我们还需要一些:
最后,构建我们的:
以下是代码片段,您可以看到所有这些代码一起工作:
const formToJSON=elements=>[].reduce.callelements,data,element=>{
data[element.name]=element.value;
返回数据;
}, {};
常数{
recipientName=ABC,recipientAddress=abc@123.yes,
subject=给你的邮件,senderName=XYZ,
firstname=first,lastname=last
}=formToJSONdocument.querySelectorAllform输入:非[type='submit']
常量换行符=%0D%0A
const mailTo=`mailTo:${recipientAddress}?subject=${subject}&body=Hello ABC,${lineBreak}
我是你父亲。${lineBreak}${lineBreak}
详细信息是:${lineBreak}${lineBreak}
名字:${firstname}${lineBreak}
姓氏:${lastname}${lineBreak}${lineBreak}
谢谢,${lineBreak}
${senderName}`
const link=document.createElementa
link.textContent=发送一些邮件
link.href=mailTo
document.body.appendChildlink
名字:
姓氏:
和你尝试过什么?到目前为止,我只能将占位符值输入到电子邮件中,而不能输入免费文本。而你使用的代码是。。。?
const formToJSON = elements => [].reduce.call(elements, (data, element) => {
data[element.name] = element.value;
return data;
}, {});
const {
recipientName = "ABC", recipientAddress = "abc@123.yes",
subject = "Some mailz for youz", senderName = "XYZ",
firstname = "first", lastname = "last"
} = formToJSON(document.querySelectorAll("form input:not([type='submit'])"))
const lineBreak = "%0D%0A"
const mailTo = `mailto:${recipientAddress}?subject=${subject}&body=Hello ABC,${lineBreak}
I am your father.${lineBreak}${lineBreak}
The details are:${lineBreak}${lineBreak}
First Name: ${firstname}${lineBreak}
Last Name: ${lastname}${lineBreak}${lineBreak}
Thanks,${lineBreak}
${senderName}`