我写了一个这样的演示:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<script type="text/javascript">
window.onload = init;
function init() {
var btn = document.getElementById('submit');
btn.onclick = function() {
var str = document.getElementById('testText').value;
alert(str);
var xmlHttp = new XMLHttpRequest();
var url = 'test.php?str=' + str;
xmlHttp.onreadystatechange = function(){
var str = xmlHttp.responseText;
document.getElementById('testText').value = str.toLocaleUpperCase();
};
xmlHttp.open('GET', url, true);
xmlHttp.send(null);
};
}
</script>
</head>
<body>
<form action="test.php" method="POST">
<textarea name="testText" id="testText" cols="30" rows="10"></textarea>
<input type="button" value="submit" id="submit">
</form>
</body>
</html>
它向服务器发送一个GET,并且php只返回它得到的内容,然后js用大写显示它(写这个因为系统要求我写更多的代码细节)
我在textarea
标签中写了一些文字,如
write some thing
write other thing
,输出
WRITE SOME THING WRITE OTHER THING
但我希望保留空行,并期望像这样输出
WRITE SOME THING
WRITE OTHER THING
我该怎么办?
答案 0 :(得分:0)
您可以使用NewLine character entity,可以使用以下任意一种方式表达:

 

像这样:
write some thing
write other thing
...或:
write some thing
write other thing
...或:
write some thing write other thing
<textarea>write some thing
write other thing</textarea>
<textarea>write some thing
write other thing</textarea>
<textarea>write some thing write other thing</textarea>
&#13;
答案 1 :(得分:0)
将数据发送到PHP时,需要将文本转换为URL格式。
var url = 'test.php?str=' + encodeURIComponent(str);
将PHP输出到HTML文档时,需要将文本转换为HTML。
大多数元素不会将空白视为重要元素,因此您需要将新行转换为换行符元素或执行其他类型的格式设置。 (一般来说,你想要使用更智能的东西,比如Markdown语法,但我会在这个简单的例子中使用nl2br):
<div>
<?php
$data = $_GET['str'];
$safe_data = htmlspecialchars($data);
$formatted_data = nl2br($safe_data);
echo $formatted_data;
?>
</div>
或者,如果要输出到具有重要空格的元素
<textarea>
<?php
$data = $_GET['str'];
$safe_data = htmlspecialchars($data);
echo $safe_data;
?>
</textarea>