刷新表单不保留textarea换行符

问题描述

我有一个简单的表格,如下所示,有几个输入,下面只有一个textarea输入:

<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>

用户使用以下方法选择不同的输入时,我的表单将刷新:

onchange = "this.form.submit()"

刷新表单后,我想保留所有输入,这就是为什么在上面显示的表单中有以下脚本标记的原因:

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

这做得很好,将所有文本保留在一行中,但是当textarea超过一行时,它不起作用,并且不显示任何内容。我什至尝试将文本区域的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>