【发布时间】:2011-12-16 17:02:46
【问题描述】:
我有下面的 HTML 代码,它本质上是复制一个 textarea 框,包括它的文本。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Test Page</title>
<script type="text/javascript">
function copyTextarea() {
var originalTextbox = document.getElementById('originalTextarea');
var copiedTextboxSpan = document.getElementById('copiedTextareaSpan');
var text = originalTextbox.value;
copiedTextboxSpan.innerHTML = '<textarea name="myNewTextarea" rows="5" cols="50"></textarea>';
var newTextbox = document.getElementsByName('myNewTextarea')[0];
newTextbox.innerHTML = text;
}
</script>
</head>
<body>
Enter your text:
<br />
<textarea id="originalTextarea" rows="5" cols="50"></textarea>
<br />
<input type="button" value="Copy Textarea" onclick="copyTextarea()" />
<br />
Copied text:
<br />
<span id="copiedTextareaSpan"></span>
</body>
</html>
这是我拥有的一个非常简化的 HTML 版本,所以请不要建议进行大的更改。我需要创建 textarea 框并单独设置其文本等。
这段代码看起来很简单,而且工作正常,除了换行符。出于某种原因,Internet Explorer (IE) 总是将换行符转换为一个空格。更奇怪的是,这不是在我的 Tomcat 服务器本地发生的,而是在我部署到测试服务器时悄悄发生的。但在测试服务器上,它在 Chrome、Firefox 等中运行良好。
有人知道会发生什么吗?我对 JavaScript 不太了解,但我认为执行代码的是浏览器。但如果是这样,为什么IE本地没有问题,而测试服务器有问题?
【问题讨论】:
标签: javascript html internet-explorer newline