Php 如何使用HTTPRequest在文本区域中打印换行符?

Php 如何使用HTTPRequest在文本区域中打印换行符?,php,html,ajax,textarea,Php,Html,Ajax,Textarea,我想使用HTTPRequest属性在文本区域中打印换行符。 这是我的密码: <script> function htrt(str) { var xmlhttp; //document.getElementById("txtwrite").innerHTML = str; if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } else { xmlht

我想使用HTTPRequest属性在文本区域中打印换行符。 这是我的密码:

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

功能htrt(str)
{
var-xmlhttp;
//document.getElementById(“txtwrite”).innerHTML=str;
if(window.XMLHttpRequest){
xmlhttp=新的XMLHttpRequest();
}否则{
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
document.getElementById(“txtwrite”).value=xmlhttp.responseText;
}
}
open(“GET”、“touch.php?techtxt=“+str”);
xmlhttp.send();
}
下面是touch.php代码:

<?php
$str=$_GET['techtxt'];
        echo $str;
?>

它不会在textarea中打印换行符。我使用了nl2br($string)函数来检查textarea中发生了什么,但它不起作用。 请任何人帮帮我

在回显之前,请使用PHP中的函数,从另一个文本区域使用新行解决您的问题

带有编码字符串的JSFIDLE测试:

这:

在textarea标签之间,它将像一个符咒一样工作

但你需要改变这一点:

document.getElementById("txtwrite").value = xmlhttp.responseText;
为此:

document.getElementById("txtwrite").html = xmlhttp.responseText;

请使用div而不是textarea。因为在textarea标记中没有html标记工作,但在div中它工作


此函数
nl2br()
将新行转换为
br
标记。只要好好学习这个函数。

我会尝试使用json_编码而不是nl2br。您正在发送JS数据,因此它应该是JS编码的。考虑使用JS框架,比如jQuery、mootools或prototype@NirobHasan你看过我的照片了吗?!?该示例使用textarea并正在运行。这是因为当您需要使用
html
属性时,您正在使用
value
。它在显示htmlspecials($string)函数的页面中工作,但当我使用AJAX使用responseText时,它在请求页面的根页面中不工作;它不会在文本区域打印任何内容。您正在使用哪个浏览器测试它?我开始认为最好使用json而不是普通/文本谢谢,Shahriar。您提供的链接非常有用。
document.getElementById("txtwrite").value = xmlhttp.responseText;
document.getElementById("txtwrite").html = xmlhttp.responseText;