使用Javascript向电子邮件发送内容时删除HTML格式
希望对于比我更了解Javascript的人来说,这是一个非常简单的问题 我有一个按钮可以将div标签的内容发送到电子邮件 它背后的js是一个相当简单的使用Javascript向电子邮件发送内容时删除HTML格式,javascript,html,email,replace,Javascript,Html,Email,Replace,希望对于比我更了解Javascript的人来说,这是一个非常简单的问题 我有一个按钮可以将div标签的内容发送到电子邮件 它背后的js是一个相当简单的 function doMailTo(addr) { location.href = "mailto:"+addr+"?subject=Flight Itinerary&body="+document.getElementById('p3').innerHTML; } 这会将内容发送到电子邮件,但是包含html格式,并且电子邮件看起来非常
function doMailTo(addr) {
location.href = "mailto:"+addr+"?subject=Flight Itinerary&body="+document.getElementById('p3').innerHTML;
}
这会将内容发送到电子邮件,但是包含html格式,并且电子邮件看起来非常凌乱(下面是电子邮件的正文内容):
但我不知道如何在js中实现这一点,我已经尝试了下面的许多变体
(replace(brRegex, "\r\n").replace(/<\/?[a-zA-Z]+\/?>/g, ''))
(替换(brRegex,“\r\n”)。替换(//g,”)
但是我不知道如何把上面的函数放进去,这样它就可以工作了
有人能帮忙吗
谢谢 因为文本在三行上,所以您需要在获取textContent而不是innerHTML后使用:
- 使用textContent可以避免替换不需要的项目
- encodeURI是正确编码新行字符所必需的
功能域(addr){
location.href=“mailto:”+addr+“?主题=航班行程和正文=”+
encodeURI(document.getElementById('p3').textContent);
}
多梅尔托酒店ooo@xxx.uu');代码>
10月21日星期六-Flybe 6350-0小时50米
出发地点:泽西机场(JER),07:00
抵达:南安普敦机场,07:50
因为文本在三行上,所以您需要在获取文本内容而不是innerHTML后使用:
- 使用textContent可以避免替换不需要的项目
- encodeURI是正确编码新行字符所必需的
功能域(addr){
location.href=“mailto:”+addr+“?主题=航班行程和正文=”+
encodeURI(document.getElementById('p3').textContent);
}
多梅尔托酒店ooo@xxx.uu');代码>
10月21日星期六-Flybe 6350-0小时50米
出发地点:泽西机场(JER),07:00
抵达:南安普敦机场,07:50
为什么不改用document.getElementById('p3').textContent
(或innerText
)呢?我试过了,但是我需要换行符来保持文本在三行以上,而.textContent的文本保持在一行,为什么不使用document.getElementById('p3').textContent
(或innerText
)取而代之的是?我确实试过了,但是我需要换行符来保持文本在三行以上,而对于.textContent,文本保持在一行上,
<b> & </b>
<br/>
\r\n
(replace(brRegex, "\r\n").replace(/<\/?[a-zA-Z]+\/?>/g, ''))