gpt4 book ai didi

javascript - 如何防止 IE 将 textarea 换行符转换为单个空格

转载 作者:行者123 更新时间:2023-11-30 13:25:46 25 4
gpt4 key购买 nike

我有以下 HTML 代码,它基本上复制了一个文本框,包括它的文本。

<!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 的一个非常简化的版本,所以请不要提出巨大的改变。我需要创建文本区域框并单独设置其文本等。

这段代码看起来很简单并且运行良好,除了换行符。出于某种原因,Internet Explorer (IE) 总是将换行符转换为一个空格。奇怪的是,这不是在我的 Tomcat 服务器上本地发生的,而是在我部署到测试服务器时悄悄发生的。但在测试服务器上,它在 Chrome、Firefox 等中运行良好。

有人知道会发生什么吗?我不太了解 JavaScript,但我认为是浏览器执行代码。但如果是这样的话,为什么IE在本地没有问题,在测试服务器上却有问题呢?

最佳答案

尝试创建实际的 DOM 对象:

newTextarea = document.createElement('textarea');
newTextarea.setAttribute('name', 'myNewTextarea');
newTextarea.setAttribute('rows', '5');
newTextarea.setAttribute('cols', '50');

copiedTextboxSpan.appendChild(newTextarea);

var newTextbox = document.getElementsByName('myNewTextarea')[0];
newTextbox.value = text;

此外,在处理文本区域时,使用 value 而不是 innerHTML

关于javascript - 如何防止 IE 将 textarea 换行符转换为单个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8537572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com