function getContext(){
      alert(1);
      document.getElementsById('cardcontent').value=
      document.getElementsById("cardcontent").value.replace(/(\n)/g,"<br/>");
}
<body>
<div id="main">
<div id="w_writecard" style="margin-left:20px;display:none;">
<form action="newcard.action?borderid=${boardid}" method="post" >
内容:<textarea id="cardcontent" name="cardcontent" style="width:935px;height:300px;"></textarea>
<input type="submit" value="发帖" />  <input type="reset" value="重置" />
</form>
</div>
</div>
提交出去的还是用\n作为回车,我想让textarea里面的回车符\n全部替换成<br/> 然后再提交给服务器

解决方案 »

  1.   

    document.getElementsById( "cardcontent ").value.replace(/(\n)/g, " <br/> "); 
    改成
    document.getElementsById( "cardcontent ").value.replace("\n", " <br/> "); 
      

  2.   

    试过了 似乎也不行  传到数据库里面的还是没有<br/>
      

  3.   

         还有 id="cardcontent    "这样的ID是会错误的。你后面空了空格,排版要注意一下格式!否则一点点疏忽都可以导致你的程序出问题
        
        如果只是要达到效果,把/(\n)/g里的括号去了就OK了。/\n/g,效果一样OK!    楼主你这样做有何意义吗?回车加<br>替换,这样你的整个TEXTAREA都插满了<br>,尤其是在IE里,效果很不好看。在实际编辑器里是没有人这么做的!最好的做好是提交到后台去处理过滤并显示比较好:比如ASP:可以进行这样的换行处理:
    <% codepage=936%>
    <%
    response.charset=gb2312
    response.codepage=936
    aa=request.Form("cardcontent")
    bb=Replace(aa,Chr(13),"<br/>")
    bb=Replace(aa,Chr(10),"<br/>")
    response.write bb%>
      

  4.   


    这个应该可以。$("textarea").val().replace("\n","<br>")
      

  5.   

    楼主的需求最好还是使用服务端进行操作。当然实际操作的方式还是使用更替把\n换成<br />即可。以下是JS代码:function   getContext(){
                alert(1);
                t1=document.getElementById("cardcontent")
                t2=t1.value.replace(/(\n)/g, " <br/> ");
    t1.value=t2
    alert(t2);

      

  6.   

    谢谢大家   弄了半天 是我自己写错了 开始用的是 document.getElementsByTagName(textarea)[0];
    后来想用id找  就直接把后面的TagName换成了Id  ⊙﹏⊙b汗 忘记去了那个S....害我调了半天,分就给大家平分吧 ,反正也没多少