刷新表单不保留文本区域换行符

Refreshing form not preserving textarea line breaks

我有一个简单的表单,如下所示,有几个输入,只有一个文本区域输入如下所示:

<form class="box" action = "?" method = "GET" enctype = "multipart/form-data">

<textarea id = "query" name = "query" style="width:810px;height:150px;border:solid 1px #737373;white-space: pre-line;"></textarea>

<script type="text/javascript">
document.getElementById('query').value = "<?php echo $_GET['query'];?>";
</script>

</form>

当用户 select 不同的输入时,我的表单会刷新,使用:

onchange = "this.form.submit()"

当我的表单刷新时,我想保留到目前为止的所有输入,这就是为什么我在上面显示的表单中有以下脚本标签的原因:

<script type="text/javascript">
document.getElementById('query').value = "<?php echo $_GET['query'];?>";
</script>

这很好,将所有文本保留在一行中,但当文本区域多于一行时,它不起作用,并且不显示任何内容。我什至尝试将文本区域的 css 更改为:

white-space: pre-wrap;

但似乎没有效果!

如何刷新我的表单并保留文本区域文本以处理新行?

谢谢!

您不需要 javascript 代码!您可以将代码更改为:

<form class="box" action = "?" method = "GET" enctype = "multipart/form-data">

<textarea id = "query" name = "query" style="width:810px;height:150px;border:solid 1px #737373;white-space: pre-line;"><?php echo $_GET['query']; ?></textarea>

</form>