如何阻止 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) 上的文本区域中的字数超出限制