我有以下Javascript复制用户的文本区输入在这个iPhone应用程序(用HTML/CSS/Javascript为PhoneGap构建),打开电子邮件客户端,并将其粘贴到正文。这个脚本完成了所有这些。不幸的是,文本区域的换行符没有保留下来,这使得阅读体验很糟糕。如何保留文本区的换行符?我在Stackoverflow上阅读了12个标题相似的问题,但没有看到与我相同的案例。
表单代码(使用Jquery):
<div data-role="content"><form name="form2" action="mailto:" type="text/html" onSubmit="send_setupSummaries(form2); return false;">
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;
}
Textarea: <li><textarea name="setupSummaries" cols="20" rows="7"></textarea>
这是我到目前为止尝试过的,没有一个有效。注释行是失败的替代方法:
var setupSummaries = document.getElementById('setupSummaries');
var str = document.getElementById('setupSummaries');
//setupSummaries = str.replace(/[rn]+/g, '<br>');
//setupSummaries = str.replace(/n/g, '<br>');
//setupSummaries = str.replace(nr/g, '<br>'); // Mac uses r
//setupSummaries = str.replace(/r/g, '<br>');
//setupSummaries = str.replace(/r/g, "</p><p>");
var setupSummaries = str.replace(/(rn|n|r)/gm,"</p><p>");
您正在将mailto:
URI放在一起,因此对消息正文进行URI编码:
var bod = "&body="+encodeURIComponent(form2.setupSummaries.value);
换行符可以是'n'
或'nr'
字符的形式。您可能希望在这些字符上分割文本并将子字符串封装在<p>
标记中,或将'n'
替换为'<br>'
标记