碰到小问题,搜索了好阵子都没结果,敬请同行们不吝赐教,问题如下:
用javascript代码,把<textarea>中的内容放在table的列中。
    function ShowMsg()
    {
var New= "<table width=100% border=0 cellpadding=0 cellspacing=0 style='word-break:break-all;'>" 
                         +"<tr bgcolor='#F6F6F6'> <td ></td></tr>"
                                         +"<tr><td style= 'WORD-WRAP:break-word;'>"
                                         +  document.getElementById('TextArea_PL').value +"</td></tr> "
                         +"</table>";
document.getElementById("LB_YHPJ").innerHTML = New;
    }    <asp:Label ID="LB_YHPJ" runat="server" EnableViewState="False"></asp:Label>
<textarea id="TextArea_PL" name="S1" style="width: 100%; height: 80px"></textarea>
<input id="Button1" type="button" value="button" onclick="ShowMsg();" />
问题是我的<textarea>中的内容明明是两行的数据,而且是很短的数据,到了<td>中却被折合为一行了。就是说<td>里竟然不认回车换行符号了。                   救命啊

解决方案 »

  1.   

    ... + document.getElementById('TextArea_PL').value.replace("\n", "<br>") + ...
      

  2.   

    style='word-break:break-all;
    这一段加在td上啊
      

  3.   

    这样替换的话,不妥吧,如果他真的要想要输出\n,哪不全都替换了吗,我觉得<td>应该有某个相应的属性值吧
      

  4.   

    td没有这样的属性,td中的html只是用来显示的,你需要把td中的内容再读出来吗?
    另外一种方法是在td内容两头加pre标签:
    ... + "<pre>"+ document.getElementById('TextArea_PL').value + "</pre>"+ ...
      

  5.   

    哦 ,好,谢谢,<pre>能解决问题。