У меня есть следующий 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 нет локальных проблем, но есть проблема на тестовом сервере?