希望对于那些比我更懂Java语言的人来说,这是一个简单的菜。
我有一个按钮,可将div标签的内容发送到电子邮件,
它背后的js很简单
function doMailTo(addr) {
location.href = "mailto:"+addr+"?subject=Flight Itinerary&body="+document.getElementById('p3').innerHTML;
}
这会将内容发送到电子邮件,但是包含html格式,并且电子邮件看起来确实很凌乱(以下是电子邮件的正文内容):
<b>Sat 21 Oct - Flybe 6350 </b><b>- 0h 50m</b><br>Depart: Jersey Airport, (JER) at 07:00<br>Arrive: Southampton Airport, (SOU) at 07:50 <br><br>
当我希望它看起来像这样:
10月21日星期六-Flybe 6350-0h 50m出发:泽西机场(JER)在07:00到达:南安普敦机场(SOU)在07:50
我知道我要删除
<b> & </b>
并更换
<br/>
与
\r\n
但是我不知道如何在js中完成这项工作,我尝试了以下多种变体,
(replace(brRegex, "\r\n").replace(/<\/?[a-zA-Z]+\/?>/g, ''))
但是我不知道如何将上述函数放入工作表中,
有人可以帮忙吗?
谢谢!
最佳答案
因为文本是三行,所以在获取textContent而不是innerHTML之后,需要使用encodeURI():
使用textContent可以避免替换不必要的项目
必须使用encodeURI才能正确编码换行符char。
function doMailTo(addr) {
location.href = "mailto:" + addr + "?subject=Flight Itinerary&body=" +
encodeURI(document.getElementById('p3').textContent);
}
doMailTo('ooo@xxx.uu');
<div id="p3">
<b>Sat 21 Oct - Flybe 6350 </b><b>- 0h 50m</b><br>
Depart: Jersey Airport, (JER) at 07:00<br>
Arrive: Southampton Airport, (SOU) at 07:50<br><br>
</div>