日期:2014-05-17  浏览次数:20724 次

关于textarea的innerHTML和value换行问题
今天测试了下ajax,在进行textarea时,发现innerHTML和value使用的区别,很奇怪的一件事,嘿嘿。


正题:

ajax代码:
  <script type="text/javascript">
  	var ajaxConn;
  	function createHttpRequest()
  	{
  		try
  		{
  			if(window.XMLHttpRequest)
  			{
	  			ajaxConn=new XMLHttpRequest();
  			}
	  		else if(window.ActiveXObject)
  			{
  				ajaxConn=new ActiveXObject("Msxml2.XMLHTTP");
  			}
  		}
  		catch(e)
  		{
			ajaxConn=new ActiveXObject("Microsoft.XMLHTTP");  		
  		}
  	}
  	
  	function disData()
  	{
  		createHttpRequest();
  		var url="test.do";
  		ajaxConn.open("POST",url,true);
  		ajaxConn.onreadystatechange=handleResult;
  		ajaxConn.send("");
  	}
  	
  	function handleResult()
  	{
  		if(ajaxConn.readyState==4)
  		{
  			if(ajaxConn.status==200)
  			{
  				var tt=document.getElementById("t");
  				//tt.innerHTML=tt.value+"\n"+ajaxConn.responseText;//注意这样好像不能换行
  				tt.value=tt.value+"\n"+ajaxConn.responseText;//这样可以换行
  				setTimeout("disData()",1000);
  			}
  			else
  			{
  				alert("出错");
  			}
  		}
  	}
  </script>


下面是HTML的东东

 <button onclick="disData()">点我测试</button>   
    <textarea id="t" name="t" rows="6" cols="45" ></textarea>


其中test.do这个servlet只是一句话,如下:
out.println("testing ....");




嘿嘿,小小发现,有和我一样迷惑的朋友可以测试下
1 楼 vanoin 2008-11-12  
请教一个问题,textarea里输入文字换行如下
-------------------------------
abc def
ghi
-------------------------------
但提交后处理的字符串只是一行的 "abc def ghi",请问如何处理"def"与"ghi"之间的空格为"<br />"呢?
2 楼 ypluck 2008-11-12  
加上特殊字符,如#,之类的,然后判断,最后加'\n'
3 楼 linchangsheng 2010-10-13  
将空格转换为\n就行了