日期:2014-05-20  浏览次数:20864 次

关于Ie和火狐\r\n的问题。。。。。。。。。。。。。。。。。。。。。。。。。
在<textarea>中按回车,用document.getElementById("text").value.length获取长度,
在ie下长度为2,在火狐下长度为1。提交到servlet用getBytes()获取的长度都为2,为什么啊?

难道ie下的回车是\r\n,火狐下的回车是\n??但是提交都服务器都是一样的长度啊。。


------解决方案--------------------
自己测试一下好了
var content = document.getElementById("text").value;
alert(content == "\r\n"); //ie true, firefox false
alert(content == "\n"); //ie false, firefox true

所以前台是ie回车是\r\n,火狐是\n
估计sevelet是根据平台自动把回车符换成System.getProperty("line.separator");符号
所以可以在服务器端测试
String s = System.getProperty("line.separator");
System.out.println(s.equals("\r\n"));
System.out.println(s.equals("\n"));

然后再测试看,前台传过来的回车符到底是\r\n还是\n