如何用JS向textarea追加带换行文本并保留原有内容?
解决textarea追加内容不清空原有文本的问题
直接赋值value会覆盖textarea原有内容,要保留原有文本并追加新内容,只需拼接原有值与新内容即可,同时用\n表示换行来实现邮件内容的换行格式。
核心实现步骤
- 获取目标textarea元素:
const textarea = document.getElementsByName('txtbdy')[0];
- 定义带换行的邮件内容(用
\n表示换行),通过+=操作符追加到原有内容末尾:
// 自定义带换行的邮件内容 const newEmailContent = "您好:\n\n这是您需要添加的邮件内容,\n换行将在textarea中正常显示。\n\n此致\n敬礼"; // 追加到原有内容末尾,不会清空原有文本 textarea.value += newEmailContent;
进阶用法
- 如果需要在原有内容和新内容之间添加空行分隔:
textarea.value += "\n\n" + newEmailContent;
- 如果要将新内容插入到原有内容开头:
textarea.value = newEmailContent + "\n\n" + textarea.value;
完整示例(含触发按钮)
<textarea name="txtbdy" title="Corps du message" rows="19" cols="104" onchange="onChgBdy();">原有文本内容</textarea> <button onclick="appendEmailContent()">添加邮件内容</button> <script> function appendEmailContent() { const textarea = document.getElementsByName('txtbdy')[0]; const newContent = "您好:\n\n感谢您的关注,我们会在24小时内回复您的消息。\n\n客服团队"; textarea.value += "\n\n" + newContent; } </script>
内容的提问来源于stack exchange,提问作者ibibi
相关产品推荐
相关产品推荐

