如何阻止 Chrome 在我的文本区域中添加额外的换行符?

Posted

技术标签:

【中文标题】如何阻止 Chrome 在我的文本区域中添加额外的换行符?【英文标题】:How can I stop Chrome from adding extra line breaks in my textarea? 【发布时间】:2010-10-22 10:57:36 【问题描述】:

我在 asp 中有一个表单,它会在用户将表单信息提交到我们的数据库之前对其进行一些 javascript 错误检查,从而显示表单信息的预览。为了在提交前启用轻量级格式,我们将所有换行符替换为标签。

<textarea name="DATA_Description" ROWS=30 wrap=on cols="30"><%=DATA_Description%></textarea>

替换换行符
<%=replace(DATA_Description,vbcr,"<BR>")%>

这在除 Chrome 之外的所有浏览器中都能完美运行。 Chrome 在文本区域的每一行末尾插入一个额外的换行符。我们在具有多种字体样式的多个宽度区域中使用文本,因此我需要仅在用户实际输入硬回车时才出现换行符...

有什么建议吗?

【问题讨论】:

【参考方案1】:

您只替换回车而不是换行,它们显示在文本区域中。如果 Windows 上的 Chrome 使用 CRLF 而不是简单的 LF,我不会感到惊讶,而且我不希望只使用 CR。

【讨论】:

【参考方案2】:

当我从存储在数据库中的文本区域获取数据并希望将其显示为 html 而不是返回文本区域时(就像你一样使用替换),我总是使用 vbcrlf 而不是 vbcr。

我从未测试过如果我使用的操作系统是 Linux 或 Mac,它们都只使用 LF 而不是 CRLF(当时不必担心 Mac 和 Linux 支持)会发生什么。现在我想起来了,我想知道使用 CRLF 或 LF 是否是 HTML 规范的一部分,并且在任何 textarea 的所有操作系统中都是相同的?嗯。

【讨论】:

以上是关于如何阻止 Chrome 在我的文本区域中添加额外的换行符?的主要内容,如果未能解决你的问题,请参考以下文章

Android 应用 (Cordova) 上的文本区域中的字数超出限制

如何在我的 chrome 扩展中本地保存信息?

如何阻止 Chrome 自动完成文本区域?

如何从 jquery 的文本区域中获取选定的文本? [复制]

如何防止文本区域中的重复空格

文本区域中的CSS悬停滚动条光标