使用Javascript和几个devexpress asp.net控件以编程方式复制ASPxMemo(多行文本字段)的内容,并将内容设置为电子邮件的正文。
复制和粘贴大部分都有用,但我注意到,如果在我的ASPxMemo中,我有多行,它会被粘贴到电子邮件正文中作为一行。例如,如果这是在ASPxMemo中:
aaa
bbb
ccc
我希望保留原始格式,但截至目前,电子邮件的正文将被粘贴为:
aaabbbccc
单击ASPxButton时会发生此操作:
<dx:ASPxButton id="btnClipboardCopy" runat="server">
<Image Url="clipboard.png"></Image>
<ClientSideEvents Click="function(s, e) {
let subject = 'Submission';
let body = footnote.GetText();
window.open('mailto:helpdesk@xxx.com?subject=' + subject + '&' + 'body=' + body);
}"
/>
</dx:ASPxButton>
有什么想法? 感谢
答案 0 :(得分:1)
可能您的电子邮件撰写窗口在HTML模式下打开,因此您需要使用<br>
替换正文中的换行符。在初始化body var后,尝试将以下行添加到JS click处理程序:
body = body.replace(/(?:\r\n|\r|\n)/g, '<br />');
注意,如果这不是开箱即用的工作,您可能需要使用转义<
和>
,因为您实际上正在构建链接。所以,尝试额外的修复:
body = body.replace(/(?:\r\n|\r|\n)/g, '%3Cbr%3E');
HTH