我想使用HTTPRequest属性在textarea中打印换行符。 这是我的代码:
<script>
function htrt(str)
{
var xmlhttp;
//document.getElementById("txtwrite").innerHTML = str;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
document.getElementById("txtwrite").value = xmlhttp.responseText;
}
}
xmlhttp.open("GET","lecture.php?techtxt=" + str);
xmlhttp.send();
}
</script>
<textarea rows="9000" cols="9000" style="height: 200px; width: 725px;" id="txtwrite" readonly="readonly"></textarea>
<textarea cols="9000" rows="9000" name="txtname" style="height: 200px; width: 725px;" onkeyup="htrt(this.value)"></textarea>
这是讲话.php代码:
<?php
$str=$_GET['techtxt'];
echo $str;
?>
它不会在textarea中打印换行符。我使用了nl2br($ string)函数来检查textarea中发生了什么,但它不起作用。 请有人帮帮我。
答案 0 :(得分:0)
在回复它之前,使用PHP中的htmlspecialchars函数,将使用来自其他textarea的新行解决您的问题。
带有编码字符串的jsfiddle测试:http://jsfiddle.net/gartz/5mEEQ/
此:
<a href='te
st'>Test</a>
威尔成了这个:
<a href='te
st'>Test</a>
它在textarea标签之间就像魅力一样。
但你需要改变这个:
document.getElementById("txtwrite").value = xmlhttp.responseText;
进入这个:
document.getElementById("txtwrite").html = xmlhttp.responseText;
答案 1 :(得分:0)
请使用div而不是textarea。因为没有html标签在textarea标签中工作,但在div中它正在工作。
此功能nl2br()
会将新行转换为br
标记。只要好好学习这个功能nl2br()
。