如何在从文件中读取时在Internet Explorer中的textarea中打印新行

时间:2014-02-28 06:36:45

标签: javascript jquery html ajax textarea

我有这样的场景:

我有文件(例如abc.txt),我想从该文件中读取内容并在textarea的JSP页面中打印。

但问题是textarea在一行中显示所有内容而没有换行和回车。

在mozilla firefox和谷歌浏览器中,它以所需的格式打印,但在INTERNET EXPLORER中却出现了显示问题。

在文本文件中,内容类似于这种格式

Required format

我想在textarea中以这种方式打印内容。

但它是这样印刷的:

enter image description here

我正在使用此Ajax函数从JSP文件中获取textarea内容:

 function contentDisp1() {
        $.ajax({
            type:"POST",
            url : "sql_Execution_Log_Reader.jsp",
            success : function(data) {
                $("#contentArea1").html("<pre>"+data+"</pre>" );
            }
        });
    }

并且文件sql_Execution_Log_Reader.jsp包含以下代码:

<%
  BufferedReader input = new BufferedReader(new FileReader ("D:/mout.txt"));
String line = "";
StringBuffer sb= new StringBuffer();
while ((line = input.readLine()) != null)
{
//line = line.replace("/\n(?!\r)/g", "\n\r");
out.println(line);
}
input.close();
%>

那么我如何编写Ajax函数

1 个答案:

答案 0 :(得分:0)

IE(与大多数微软软件一样)使用字符0x0D作为行尾,而不是0x0A。因此,您需要将所有行结尾转换为此字符。 例如,在jQuery中,这将起作用:

$('#area').text('First line' + String.fromCharCode(13) +'Second line');