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中的换行问题的主要内容,如果未能解决你的问题,请参考以下文章