我有以下Javascript来复制用户的textarea输入在这个iPhone应用程序(使用HTML / CSS / Javascript for PhoneGap构建),打开电子邮件客户端,并将其粘贴到正文中。这个脚本完成了所有这些。不幸的是,textarea的换行没有保留,这使得它成为一种可怕的阅读体验。如何保留textarea的换行符?我在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(/[\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>");
答案 0 :(得分:4)
您正在整理mailto:
URI,因此对邮件正文进行URI编码:
var bod = "&body="+encodeURIComponent(form2.setupSummaries.value);
答案 1 :(得分:0)
换行符可以是'\n'
或'\n\r'
个字符的形式。您可能希望在这些字符上拆分文本并将子字符串封装在<p>
标记中,或将'\n'
替换为'<\br>'
标记