0

我想使用 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>

这是 Lecture.php 代码:

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

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

4

2 回答 2

0

Please use div instead of textarea. Because no html tags are working in textarea tag but in div it's working.

This function nl2br() converts new line to br tag. Just learn this function nl2br() well.

于 2013-01-13T08:28:12.900 回答
0

在回显之前,使用PHP 中的htmlspecialchars函数,将使用来自其他文本区域的新行来解决您的问题。

带有编码字符串的 jsfiddle 测试:http: //jsfiddle.net/gartz/5mEEQ/

这个:

<a href='te
st'>Test</a>

会变成这样:

&lt;a href=&#039;te&NewLine;st&#039;&gt;Test&lt;/a&gt

它在 textarea 标签之间会像一个魅力一样工作。

但是你需要改变这个:

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

进入这个:

document.getElementById("txtwrite").html = xmlhttp.responseText;
于 2013-01-05T07:26:23.953 回答