需要保留从用户输入的 textarea 到电子邮件正文的换行符

Ste*_*eve 3 javascript textarea

我有以下 Javascript 来复制用户在此 iPhone 应用程序中的文本区域输入(使用 HTML/CSS/Javascript 为 PhoneGap 构建),打开电子邮件客户端,并将其粘贴到正文中。这个脚本完成了所有这些。不幸的是,textarea 的换行符没有被保留,这使得它成为一种可怕的阅读体验。如何保留 textarea 的换行符?我在 Stackoverflow 上通读了 12 个问题,但没有看到与我相同的案例。

表单代码(使用 Jquery):

<div data-role="content"><form name="form2" action="mailto:" type="text/html" onSubmit="send_setupSummaries(form2); return false;">
Run Code Online (Sandbox Code Playgroud)

Javascript:

var setupSummaries = document.getElementById('setupSummaries');

function send_setupSummaries(form2) {
"use strict";
var eml="";
var subj= "?subject=from SC10 Setup App";
var bod = "&body="+form2.setupSummaries.value;
location.href="mailto:"+eml+subj+bod;
}
Run Code Online (Sandbox Code Playgroud)

文本区:

<li><textarea name="setupSummaries" cols="20" rows="7"></textarea>
Run Code Online (Sandbox Code Playgroud)


这是我迄今为止尝试过的方法,但都没有奏效。注释行是失败的替代方式:

var setupSummaries = document.getElementById('setupSummaries');

var str = document.getElementById('setupSummaries');
//setupSummaries = str.replace(/[\r\n]+/g, '<br>');
//setupSummaries = str.replace(/\n/g, '<br>');
//setupSummaries = str.replace(\n\r/g, '<br>'); // Mac uses \r
//setupSummaries = str.replace(/\r/g, '<br>');
//setupSummaries = str.replace(/\r/g, "</p><p>");
var setupSummaries = str.replace(/(\r\n|\n|\r)/gm,"</p><p>"); 
Run Code Online (Sandbox Code Playgroud)

s4y*_*s4y 5

您正在组合一个mailto:URI,因此对消息正文进行 URI 编码:

var bod = "&body="+encodeURIComponent(form2.setupSummaries.value);
Run Code Online (Sandbox Code Playgroud)