IE中的换行问题

Posted

技术标签:

【中文标题】IE中的换行问题【英文标题】:line break issues in IE 【发布时间】:2014-11-18 08:28:27 【问题描述】:

我有一个 textarea,我试图用一个 php 脚本通过 AJAX 获取的单词列表来填充它,但是当列表显示在 textarea 中时,换行符被转换为(看起来是什么)空格(使所有单词都在一行上)。

在我尝试过的php中:

echo implode("\n",$list); // and
echo implode("\r\n",$list); 

并且这些都没有将可行的换行符传递给 javascript。我已经搜索了这个站点(和其他站点),一般的解决方案似乎是用\n\r 替换任何出现的\n。我尝试过使用 javascript,或多或少是这样的:

textarea.innerhtml = ajax_response.replace('/\n/g','\r\n');

但是,这并不能解决问题。有什么我想念的吗?正如我所说,我在网上找到的大多数解决方案都建议尝试替换,但是 IE 是否还有其他解决方法?

谢谢:)

【问题讨论】:

***.com/questions/5899202/… 或 ***.com/questions/5583040/… 默认情况下,大多数浏览器采用新行和多个空格并将它们转换为 HTML 中的单个空格。 【参考方案1】:

设置textarea.value 而不是textarea.innerHTML

【讨论】:

这行得通。但是,当我尝试从 textarea 取回值(在用户编辑它之后)并使用 ajax 保存它时,我现在遇到了同样的问题 - 但是这里也删除了换行符。【参考方案2】:

试试这个:

echo implode('\\n', $list);

您想要结果中的反斜杠,而不是技术新行。

此外,textarea 就像一个输入。使用.value,而不是.innerHTML

textareaElement.value = ajax_response;

【讨论】:

以上是关于IE中的换行问题的主要内容,如果未能解决你的问题,请参考以下文章

如何防止表格单元格(不是单个单元格)的列中的换行?

JTable中的换行,右对齐,自动调整行高

防止 CSS 布局中的换行

防止链接中的换行

java 将字符串中的回车换行符替换为HTML中的换行标签点击

你真的了解python中的换行以及转义吗?